[mutter/wip/gestures: 10/16] events: Hook MetaGestureTracker to display event processing



commit ba086dea8cce36f12f55684fa29530fa537880ab
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Jun 19 23:10:33 2014 +0200

    events: Hook MetaGestureTracker to display event processing
    
    Events aren't actually consumed by the MetaGestureTracker, but it
    rather defines whether the event will reach clients, or the stage.

 src/core/events.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/src/core/events.c b/src/core/events.c
index fb789e2..0c59420 100644
--- a/src/core/events.c
+++ b/src/core/events.c
@@ -23,6 +23,7 @@
 #include "config.h"
 #include "events.h"
 
+#include "core.h"
 #include "display-private.h"
 #include "window-private.h"
 #include "backends/meta-backend.h"
@@ -106,6 +107,7 @@ meta_display_handle_event (MetaDisplay        *display,
   MetaWindow *window;
   gboolean bypass_clutter = FALSE, bypass_wayland = FALSE;
   MetaWaylandCompositor *compositor = NULL;
+  MetaGestureTracker *tracker;
 
   if (meta_is_wayland_compositor ())
     {
@@ -141,6 +143,15 @@ meta_display_handle_event (MetaDisplay        *display,
         }
     }
 
+  tracker = meta_display_get_gesture_tracker (display);
+
+  if (meta_gesture_tracker_handle_event (tracker, event))
+    {
+      bypass_wayland = TRUE;
+      bypass_clutter = meta_gesture_tracker_consumes_event (tracker, event);
+      goto out;
+    }
+
   if (display->grab_window == window &&
       meta_grab_op_is_moving_or_resizing (display->grab_op))
     {


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