[mutter] Don't add in our old input event mask when we select input events



commit 1af9e92e9144daa1912cb5a61072c1aad44df258
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Thu Jul 10 13:27:54 2014 -0400

    Don't add in our old input event mask when we select input events
    
    This causes a round-trip to the server, and just isn't necessary, since
    we're always in charge of our event mask.

 src/compositor/compositor.c |    4 ----
 src/core/core.c             |   22 ----------------------
 src/core/core.h             |    4 ----
 src/core/screen.c           |    5 -----
 src/x11/window-x11.c        |    2 --
 5 files changed, 0 insertions(+), 37 deletions(-)
---
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index eced047..7481fa5 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -159,8 +159,6 @@ get_output_window (MetaCompositor *compositor)
 
   output = XCompositeGetOverlayWindow (xdisplay, DefaultRootWindow (xdisplay));
 
-  meta_core_add_old_event_mask (xdisplay, output, &mask);
-
   XISetMask (mask.mask, XI_KeyPress);
   XISetMask (mask.mask, XI_KeyRelease);
   XISetMask (mask.mask, XI_ButtonPress);
@@ -518,8 +516,6 @@ meta_compositor_manage (MetaCompositor *compositor)
           unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
           XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
 
-          meta_core_add_old_event_mask (backend_xdisplay, xwin, &mask);
-
           XISetMask (mask.mask, XI_KeyPress);
           XISetMask (mask.mask, XI_KeyRelease);
           XISetMask (mask.mask, XI_ButtonPress);
diff --git a/src/core/core.c b/src/core/core.c
index c9ba035..cbb006a 100644
--- a/src/core/core.c
+++ b/src/core/core.c
@@ -516,25 +516,3 @@ meta_invalidate_default_icons (void)
 
   g_slist_free (windows);
 }
-
-void
-meta_core_add_old_event_mask (Display     *xdisplay,
-                              Window       xwindow,
-                              XIEventMask *mask)
-{
-  XIEventMask *prev;
-  gint n_masks, i, j;
-
-  prev = XIGetSelectedEvents (xdisplay, xwindow, &n_masks);
-
-  for (i = 0; i < n_masks; i++)
-    {
-      if (prev[i].deviceid != XIAllMasterDevices)
-        continue;
-
-      for (j = 0; j < MIN (mask->mask_len, prev[i].mask_len); j++)
-        mask->mask[j] |= prev[i].mask[j];
-    }
-
-  XFree (prev);
-}
diff --git a/src/core/core.h b/src/core/core.h
index a42884f..0e84ad1 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -169,8 +169,4 @@ void       meta_core_set_screen_cursor (Display *xdisplay,
 
 void meta_invalidate_default_icons (void);
 
-void meta_core_add_old_event_mask (Display     *xdisplay,
-                                   Window       xwindow,
-                                   XIEventMask *mask);
-
 #endif
diff --git a/src/core/screen.c b/src/core/screen.c
index 0b0dc7e..fbd3e7d 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -620,17 +620,12 @@ meta_screen_new (MetaDisplay *display,
   /* select our root window events */
   meta_error_trap_push (display);
 
-  /* We need to or with the existing event mask since
-   * gtk+ may be interested in other events.
-   */
   {
     long event_mask;
     unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
     XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
     XWindowAttributes attr;
 
-    meta_core_add_old_event_mask (xdisplay, xroot, &mask);
-
     XISetMask (mask.mask, XI_KeyPress);
     XISetMask (mask.mask, XI_KeyRelease);
     XISetMask (mask.mask, XI_Enter);
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 059cc81..29976d2 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -3074,8 +3074,6 @@ meta_window_x11_new (MetaDisplay       *display,
     unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
     XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
 
-    meta_core_add_old_event_mask (display->xdisplay, xwindow, &mask);
-
     XISetMask (mask.mask, XI_Enter);
     XISetMask (mask.mask, XI_Leave);
     XISetMask (mask.mask, XI_FocusIn);


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