From 77def5236713cb4d67dc3ff460c8fc0918aece0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= Date: Tue, 3 May 2022 11:08:03 +0300 Subject: [PATCH 1/1] Fixed binding cursor keys --- src/ui/bindingswidget.c | 1 + src/ui/listwidget.c | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) 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: -- 2.34.1