GNOME Bugzilla – Bug 639846
GdkEventScroll events are sent twice
Last modified: 2011-02-04 17:54:05 UTC
Start gtk+/tests/testcombo, position mouse over any combo box, and use the mouse scroll wheel once to change the selected item (without popping the combo box up, of course). Actual results: The selected combo box item is the one TWO items below the previously selected one. Expected results: Should have selected the NEXT item instead.
This is a generic issue with scrolling, you can see it while scrolling in a GtkCalendar too. I was debugging it in libwnck, and two events are fired, for the same scroll event. The state is different, though: Breakpoint 1, wnck_pager_scroll_event (widget=0x80d5110, event=0x80e29d0) at pager.c:2096 2096 pager = WNCK_PAGER (widget); (gdb) print *event $2 = {type = GDK_SCROLL, window = 0x806c3b0, send_event = 0 '\000', time = 1120309483, x = 367.03958129882812, y = 39.909194946289062, state = 0, direction = GDK_SCROLL_UP, device = 0x8072000, x_root = 369.03958129882812, y_root = 93.909194946289062} (gdb) c Continuing. Breakpoint 1, wnck_pager_scroll_event (widget=0x80d5110, event=0x80e2b30) at pager.c:2096 2096 pager = WNCK_PAGER (widget); (gdb) print *event $3 = {type = GDK_SCROLL, window = 0x806c3b0, send_event = 0 '\000', time = 1120309483, x = 367.03958129882812, y = 39.909194946289062, state = 2048, direction = GDK_SCROLL_UP, device = 0x8072000, x_root = 369.03958129882812, y_root = 93.909194946289062}
Forgot to mention: state for the second event is GDK_BUTTON4_MASK.
This is more XI2 fallout. Calling gdk_disable_multidevice() makes it go away.