Commit 3625f178 authored by Rob Bradford's avatar Rob Bradford

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.
parent e8e6ae81
......@@ -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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment