mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Don't compress motion events for different devices
A switch of device may be significant for an application, so don't compress motion events if they are for different devices. This simple handling isn't sufficient if we have competing event streams from two different pointer events, but we don't expect this case to be common.
This commit is contained in:
parent
ff935c5738
commit
e2705544ab
@ -268,6 +268,7 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display)
|
||||
GList *tmp_list;
|
||||
GList *pending_motions = NULL;
|
||||
GdkWindow *pending_motion_window = NULL;
|
||||
GdkDevice *pending_motion_device = NULL;
|
||||
|
||||
/* If the last N events in the event queue are motion notify
|
||||
* events for the same window, drop all but the last */
|
||||
@ -288,7 +289,12 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display)
|
||||
pending_motion_window != event->event.motion.window)
|
||||
break;
|
||||
|
||||
if (pending_motion_device != NULL &&
|
||||
pending_motion_device != event->event.motion.device)
|
||||
break;
|
||||
|
||||
pending_motion_window = event->event.motion.window;
|
||||
pending_motion_device = event->event.motion.device;
|
||||
pending_motions = tmp_list;
|
||||
|
||||
tmp_list = tmp_list->prev;
|
||||
|
Loading…
Reference in New Issue
Block a user