From d636de027b3530ac46127cf5440bfd3fa135318b Mon Sep 17 00:00:00 2001 From: hippoz <10706925-hippoz@users.noreply.gitlab.com> Date: Wed, 26 Apr 2023 16:26:17 +0300 Subject: [PATCH] fix duplicate scroll events --- src/window.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/window.c b/src/window.c index c3ed778..33b20ef 100644 --- a/src/window.c +++ b/src/window.c @@ -428,7 +428,7 @@ static void window_process_xcb_event(UIWindow *window, xcb_generic_event_t *even node_dispatch(window->root, UI_EVENT_RELAYOUT, 0, NULL); window_invalidate_node(window, window->root); #ifdef _UI_DEBUG - node_dump(window->root, 0); + //node_dump(window->root, 0); #endif } end_clock(); @@ -497,12 +497,14 @@ static void window_process_xcb_event(UIWindow *window, xcb_generic_event_t *even } } - UINode *n = node; - while (n) { - if (node_dispatch(n, ui_event, state, &delta) > 0) { - break; + if (!(ui_event == UI_EVENT_SCROLL && !state)) { + UINode *n = node; + while (n) { + if (node_dispatch(n, ui_event, state, &delta) > 0) { + break; + } + n = n->parent; } - n = n->parent; } if (ui_event == UI_EVENT_BUTTON_LEFT_UPDATE) {