[gtk+] wayland: Only try and process pointer events when focussed
- From: Rob Bradford <rbradford src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] wayland: Only try and process pointer events when focussed
- Date: Sun, 4 Aug 2013 13:44:17 +0000 (UTC)
commit 3625f17857328ae7e7aa43340f29efa56575a7b0
Author: Rob Bradford <rob linux intel com>
Date: Sun Aug 4 14:01:10 2013 +0100
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.
gdk/wayland/gdkdevice-wayland.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index 7624fa1..862942c 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -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:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]