diff --git a/src/ui/bindingswidget.c b/src/ui/bindingswidget.c index b55608c1..53a48b9c 100644 --- a/src/ui/bindingswidget.c +++ b/src/ui/bindingswidget.c @@ -143,6 +143,7 @@ static void setActiveItem_BindingsWidget_(iBindingsWidget *d, size_t pos) { item->isWaitingForEvent = iTrue; invalidateItem_ListWidget(d->list, d->activePos); } + setScrollMode_ListWidget(d->list, d->activePos != iInvalidPos); #if defined (iPlatformAppleDesktop) && defined (LAGRANGE_MAC_CONTEXTMENU) /* Native menus must be disabled while grabbing keys so the shortcuts don't trigger. */ const iBool enableNativeMenus = (d->activePos == iInvalidPos); diff --git a/src/ui/listwidget.c b/src/ui/listwidget.c index 8b7d61e7..482e0368 100644 --- a/src/ui/listwidget.c +++ b/src/ui/listwidget.c @@ -518,9 +518,12 @@ static iBool processEvent_ListWidget_(iListWidget *d, const SDL_Event *ev) { case SDLK_PAGEDOWN: case SDLK_HOME: case SDLK_END: { - const int step = cursorKeyStep_ListWidget_(d, key); - moveCursor_ListWidget_(d, step, iAbs(step) == 1 ? 0 : 150); - return iTrue; + if (d->scrollMode == normal_ScrollMode) { + const int step = cursorKeyStep_ListWidget_(d, key); + moveCursor_ListWidget_(d, step, iAbs(step) == 1 ? 0 : 150); + return iTrue; + } + return iFalse; } case SDLK_RETURN: case SDLK_KP_ENTER: