]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkwindow.c
gdk: Filter out either smooth or non-smooth event depending on the evmask
[~andy/gtk] / gdk / gdkwindow.c
index 597b8cb9ec546ca307d7ddf0b47e03dc3bace002..e1a49154209915ef97e4e05a885d74e608a30702 100644 (file)
@@ -9696,6 +9696,13 @@ proxy_button_event (GdkEvent *source_event,
                                        state, time_, source_event,
                                        serial, FALSE);
     }
+  else if (type == GDK_SCROLL &&
+           (((evmask & GDK_SMOOTH_SCROLL_MASK) == 0 &&
+             source_event->scroll.direction == GDK_SCROLL_SMOOTH) ||
+            ((evmask & GDK_SMOOTH_SCROLL_MASK) != 0 &&
+             source_event->scroll.direction != GDK_SCROLL_SMOOTH &&
+             _gdk_event_get_pointer_emulated (source_event))))
+    return FALSE;
 
   event = _gdk_make_event (event_win, type, source_event, FALSE);