[Xfce4-commits] [xfce/xfwm4] 07/11: Revert "events: Fix implicit grabs"

noreply at xfce.org noreply at xfce.org
Wed May 15 22:51:28 CEST 2019


This is an automated email from the git hooks/post-receive script.

o   l   i   v   i   e   r       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfwm4.

commit 0f34265d83207ffe3486986d269af868cef29e30
Author: Olivier Fourdan <fourdan at xfce.org>
Date:   Wed May 15 22:19:05 2019 +0200

    Revert "events: Fix implicit grabs"
    
    Bug: 15384
    
    Commit f5da3d6 cause a serious regression by preventing the filter to
    be run on any window but the one being grabbed.
    
    This reverts commit f5da3d6622c22246ac367bd80fc24ea08c9baa2e.
---
 src/client.c       |  2 +-
 src/event_filter.c | 13 +------------
 src/event_filter.h |  7 +------
 3 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/src/client.c b/src/client.c
index f2ba129..16fdf50 100644
--- a/src/client.c
+++ b/src/client.c
@@ -3892,7 +3892,7 @@ clientButtonPress (Client *c, Window w, XfwmEventButton *event)
     frameQueueDraw (c, FALSE);
 
     TRACE ("entering button press loop");
-    eventFilterPushGrab (display_info->xfilter, clientButtonPressEventFilter, w, &passdata);
+    eventFilterPush (display_info->xfilter, clientButtonPressEventFilter, &passdata);
     gtk_main ();
     eventFilterPop (display_info->xfilter);
     TRACE ("leaving button press loop");
diff --git a/src/event_filter.c b/src/event_filter.c
index 12c7895..180a39c 100644
--- a/src/event_filter.c
+++ b/src/event_filter.c
@@ -172,10 +172,7 @@ eventXfwmFilter (GdkXEvent *gdk_xevent, GdkEvent *gevent, gpointer data)
     while ((filterelt) && (loop == EVENT_FILTER_CONTINUE))
     {
         eventFilterStack *filterelt_next = filterelt->next;
-        if (filterelt->window == None || filterelt->window == event->meta.window)
-        {
-            loop = (*filterelt->filter) (event, filterelt->data);
-        }
+        loop = (*filterelt->filter) (event, filterelt->data);
         filterelt = filterelt_next;
     }
 
@@ -186,19 +183,12 @@ eventXfwmFilter (GdkXEvent *gdk_xevent, GdkEvent *gevent, gpointer data)
 eventFilterStack *
 eventFilterPush (eventFilterSetup *setup, XfwmFilter filter, gpointer data)
 {
-    return eventFilterPushGrab (setup, filter, None, data);
-}
-
-eventFilterStack *
-eventFilterPushGrab (eventFilterSetup *setup, XfwmFilter filter, Window window, gpointer data)
-{
     g_assert (filter != NULL);
     if (setup->filterstack)
     {
         eventFilterStack *newfilterstack =
             (eventFilterStack *) g_new (eventFilterStack, 1);
         newfilterstack->filter = filter;
-        newfilterstack->window = window;
         newfilterstack->data = data;
         newfilterstack->next = setup->filterstack;
         setup->filterstack = newfilterstack;
@@ -208,7 +198,6 @@ eventFilterPushGrab (eventFilterSetup *setup, XfwmFilter filter, Window window,
         setup->filterstack =
             (eventFilterStack *) g_new (eventFilterStack, 1);
         setup->filterstack->filter = filter;
-        setup->filterstack->window = window;
         setup->filterstack->data = data;
         setup->filterstack->next = NULL;
     }
diff --git a/src/event_filter.h b/src/event_filter.h
index 36cff6c..b9f14d0 100644
--- a/src/event_filter.h
+++ b/src/event_filter.h
@@ -47,7 +47,6 @@ typedef eventFilterStatus (*XfwmFilter) (XfwmEvent *event, gpointer data);
 typedef struct eventFilterStack
 {
     XfwmFilter filter;
-    Window window;
     gpointer data;
     struct eventFilterStack *next;
 }
@@ -65,11 +64,7 @@ GdkWindow               *eventFilterAddWin                      (GdkScreen *,
                                                                  long);
 eventFilterStack        *eventFilterPush                        (eventFilterSetup *,
                                                                  XfwmFilter,
-                                                                 gpointer);
-eventFilterStack        *eventFilterPushGrab                    (eventFilterSetup *,
-                                                                 XfwmFilter,
-                                                                 Window,
-                                                                 gpointer);
+                                                                 gpointer );
 eventFilterStack        *eventFilterPop                         (eventFilterSetup *);
 eventFilterSetup        *eventFilterInit                        (XfwmDevices *,
                                                                  gpointer);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list