summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Bradford <rob@linux.intel.com>2012-07-11 17:08:39 +0100
committerRob Bradford <rob@linux.intel.com>2012-07-12 15:58:38 +0100
commita4f032f1ea23437d82d03d2003c831de3d91c5ad (patch)
treeb1c2206b6ca8bf677088025921f9496da74cb222
parent7fe87016f353f5ef64dbadc639c145392c631c8a (diff)
downloadgtk+-a4f032f1ea23437d82d03d2003c831de3d91c5ad.tar.gz
wayland: Save the serial numbers for the pointer events
-rw-r--r--gdk/wayland/gdkdevice-wayland.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index 6bd993a5d1..5f38718dc0 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -944,9 +944,12 @@ pointer_handle_enter (void *data,
wl_fixed_t sx,
wl_fixed_t sy)
{
-
GdkWaylandDevice *device = data;
GdkEvent *event;
+ GdkWaylandDisplay *wayland_display =
+ GDK_WAYLAND_DISPLAY (device->display);
+
+ _gdk_wayland_display_update_serial (wayland_display, serial);
device->pointer_focus = wl_surface_get_user_data(surface);
g_object_ref(device->pointer_focus);
@@ -982,6 +985,10 @@ pointer_handle_leave (void *data,
{
GdkWaylandDevice *device = data;
GdkEvent *event;
+ GdkWaylandDisplay *wayland_display =
+ GDK_WAYLAND_DISPLAY (device->display);
+
+ _gdk_wayland_display_update_serial (wayland_display, serial);
event = gdk_event_new (GDK_LEAVE_NOTIFY);
event->crossing.window = g_object_ref (device->pointer_focus);
@@ -1054,6 +1061,10 @@ pointer_handle_button (void *data,
GdkEvent *event;
uint32_t modifier;
int gdk_button;
+ GdkWaylandDisplay *wayland_display =
+ GDK_WAYLAND_DISPLAY (device->display);
+
+ _gdk_wayland_display_update_serial (wayland_display, serial);
switch (button) {
case 273: