[gtk+] wayland: Ensure the touch sequence pointer value is non-null



commit 5b118a9fd768f752f3e770d7734596e239de942d
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date:   Sun Jun 8 17:21:14 2014 +0200

    wayland: Ensure the touch sequence pointer value is non-null
    
    Weston numbers its touch sequences ids starting from 0, thus simply
    setting the GtkEvents touch.sequence to the touch id value typically
    causes gdk_event_get_event_sequence to return NULL. Unfortunately this
    confuses other parts of GDK.
    
    As both weston & mutter keep the sequence id between 0..max_dev_touches
    -1 simply use + 1 to keep the id > 0. While this isn't entirely correct
    (compositor could send -1 as the touch id), this keeps the touch id in
    gtk tied to the touch id from weston which is useful for debugging. A
    more thorough solution could be done when it turns out this is an issue
    in practise
    
    https://bugzilla.gnome.org/show_bug.cgi?id=731371

 gdk/wayland/gdkdevice-wayland.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index 5cde19f..327c124 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -1289,7 +1289,7 @@ _create_touch_event (GdkWaylandDeviceData *device,
   event->touch.time = time;
   event->touch.state = device->modifiers;
   gdk_event_set_screen (event, display->screen);
-  event->touch.sequence = GUINT_TO_POINTER (touch->id);
+  event->touch.sequence = GUINT_TO_POINTER (touch->id + 1);
 
   if (touch->initial_touch)
     {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]