forked from AuroraMiddleware/gtk
gtk: Only set widget under device on non-virtual crossing events
_gtk_widget_set_device_window() is suppose to make accounting of the topmost widget under the device at each time, so avoid setting it on virtual crossing events as the device is already in another window.
This commit is contained in:
parent
5e67d61ff4
commit
18e4a3a4a1
@ -1688,6 +1688,8 @@ gtk_main_do_event (GdkEvent *event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_ENTER_NOTIFY:
|
case GDK_ENTER_NOTIFY:
|
||||||
|
if (event->crossing.detail != GDK_NOTIFY_VIRTUAL &&
|
||||||
|
event->crossing.detail != GDK_NOTIFY_NONLINEAR_VIRTUAL)
|
||||||
_gtk_widget_set_device_window (event_widget,
|
_gtk_widget_set_device_window (event_widget,
|
||||||
gdk_event_get_device (event),
|
gdk_event_get_device (event),
|
||||||
event->any.window);
|
event->any.window);
|
||||||
@ -1696,6 +1698,8 @@ gtk_main_do_event (GdkEvent *event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_LEAVE_NOTIFY:
|
case GDK_LEAVE_NOTIFY:
|
||||||
|
if (event->crossing.detail != GDK_NOTIFY_VIRTUAL &&
|
||||||
|
event->crossing.detail != GDK_NOTIFY_NONLINEAR_VIRTUAL)
|
||||||
_gtk_widget_set_device_window (event_widget,
|
_gtk_widget_set_device_window (event_widget,
|
||||||
gdk_event_get_device (event),
|
gdk_event_get_device (event),
|
||||||
NULL);
|
NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user