[gtk+] mir: Handle pointer up/down events without a button mask set (i.e. touch events)



commit 053b65a21af312b8b9361367939a221aa7f474a7
Author: Robert Ancell <robert ancell canonical com>
Date:   Thu Nov 6 11:12:18 2014 +1300

    mir: Handle pointer up/down events without a button mask set (i.e. touch events)
    
    The Mir backend was checking for button mask changes to generate the appropriate
    GDK event. When Mir generates a touch event it has no button mask. In this case
    we'll just generate a primary button event.

 gdk/mir/gdkmireventsource.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gdk/mir/gdkmireventsource.c b/gdk/mir/gdkmireventsource.c
index 58b918e..e14df97 100644
--- a/gdk/mir/gdkmireventsource.c
+++ b/gdk/mir/gdkmireventsource.c
@@ -311,7 +311,7 @@ handle_motion_event (GdkWindow *window, const MirMotionEvent *event)
     case mir_motion_action_up:
       event_type = event->action == mir_motion_action_down ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE;
       changed_button_state = button_state ^ event->button_state;
-      if ((changed_button_state & mir_motion_button_primary) != 0)
+      if (changed_button_state == 0 || (changed_button_state & mir_motion_button_primary) != 0)
         generate_button_event (window, event_type, x, y, GDK_BUTTON_PRIMARY, modifier_state);
       if ((changed_button_state & mir_motion_button_secondary) != 0)
         generate_button_event (window, event_type, x, y, GDK_BUTTON_SECONDARY, modifier_state);


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