forked from AuroraMiddleware/gtk
wayland: Only try and process pointer events when focussed
When combining Clutter with GTK+ we can receive events for surfaces which in the client side we do not have focussed.
This commit is contained in:
parent
e8e6ae8189
commit
3625f17857
@ -645,6 +645,8 @@ pointer_handle_leave (void *data,
|
||||
return;
|
||||
if (!GDK_IS_WINDOW (wl_surface_get_user_data (surface)))
|
||||
return;
|
||||
if (!device->pointer_focus)
|
||||
return;
|
||||
|
||||
_gdk_wayland_display_update_serial (wayland_display, serial);
|
||||
|
||||
@ -689,6 +691,9 @@ pointer_handle_motion (void *data,
|
||||
GdkWaylandDisplay *display = GDK_WAYLAND_DISPLAY (device->display);
|
||||
GdkEvent *event;
|
||||
|
||||
if (!device->pointer_focus)
|
||||
return;
|
||||
|
||||
event = gdk_event_new (GDK_NOTHING);
|
||||
|
||||
device->time = time;
|
||||
@ -729,6 +734,9 @@ pointer_handle_button (void *data,
|
||||
GdkWaylandDisplay *wayland_display =
|
||||
GDK_WAYLAND_DISPLAY (device->display);
|
||||
|
||||
if (!device->pointer_focus)
|
||||
return;
|
||||
|
||||
_gdk_wayland_display_update_serial (wayland_display, serial);
|
||||
|
||||
switch (button) {
|
||||
@ -784,6 +792,9 @@ pointer_handle_axis (void *data,
|
||||
GdkEvent *event;
|
||||
gdouble delta_x, delta_y;
|
||||
|
||||
if (!device->pointer_focus)
|
||||
return;
|
||||
|
||||
/* get the delta and convert it into the expected range */
|
||||
switch (axis) {
|
||||
case WL_POINTER_AXIS_VERTICAL_SCROLL:
|
||||
|
Loading…
Reference in New Issue
Block a user