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

nomad pushed a 
commit to branch 
master
in repository apps/xfdashboard.

commit f581aab0e790a6c89002200699aa4369bac04497
Author: Stephan Haller <no...@froevel.de>
Date:   Tue Jun 13 17:24:50 2017 +0200

    Fix applying correct user-data when connecting signals to stage window in 
X11 window tracker backend.
    
    Fix for issue GH #129
---
 libxfdashboard/x11/window-tracker-backend-x11.c | 59 +++++++++++++------------
 1 file changed, 31 insertions(+), 28 deletions(-)

diff --git a/libxfdashboard/x11/window-tracker-backend-x11.c 
b/libxfdashboard/x11/window-tracker-backend-x11.c
index 77baba3..6843c88 100644
--- a/libxfdashboard/x11/window-tracker-backend-x11.c
+++ b/libxfdashboard/x11/window-tracker-backend-x11.c
@@ -522,40 +522,42 @@ static void 
_xfdashboard_window_tracker_backend_x11_window_tracker_backend_show_
        /* Connect signals if not already connected */
        signalID=g_signal_lookup("state-changed", WNCK_TYPE_WINDOW);
        handlerID=g_signal_handler_find(stageWnckWindow,
-                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC,
+                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
                                                                        
signalID,
                                                                        0,
                                                                        NULL,
                                                                        
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_state_changed),
-                                                                       NULL);
+                                                                       
stageWindow);
        if(!handlerID)
        {
-               g_signal_connect(stageWnckWindow,
-                                                       "state-changed",
-                                                       
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_state_changed),
-                                                       stageWindow);
+               handlerID=g_signal_connect(stageWnckWindow,
+                                                                       
"state-changed",
+                                                                       
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_state_changed),
+                                                                       
stageWindow);
                XFDASHBOARD_DEBUG(self, WINDOWS,
-                                                       "Connecting signal to 
'state-changed' at window %p (wnck-window=%p)",
+                                                       "Connecting signal 
handler %lu to 'state-changed' at window %p (wnck-window=%p)",
+                                                       handlerID,
                                                        stageWindow,
                                                        stageWnckWindow);
        }
 
        signalID=g_signal_lookup("active-window-changed", WNCK_TYPE_SCREEN);
        handlerID=g_signal_handler_find(screen,
-                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC,
+                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
                                                                        
signalID,
                                                                        0,
                                                                        NULL,
                                                                        
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_active_window_changed),
-                                                                       NULL);
+                                                                       
stageWindow);
        if(!handlerID)
        {
-               g_signal_connect(screen,
-                                                       "active-window-changed",
-                                                       
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_active_window_changed),
-                                                       self);
+               handlerID=g_signal_connect(screen,
+                                                                       
"active-window-changed",
+                                                                       
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_active_window_changed),
+                                                                       
stageWindow);
                XFDASHBOARD_DEBUG(self, WINDOWS,
-                                                       "Connecting signal to 
'active-window-changed' at screen %p of window %p (wnck-window=%p)",
+                                                       "Connecting signal 
handler %lu to 'active-window-changed' at screen %p of window %p 
(wnck-window=%p)",
+                                                       handlerID,
                                                        screen,
                                                        stageWindow,
                                                        stageWnckWindow);
@@ -563,20 +565,21 @@ static void 
_xfdashboard_window_tracker_backend_x11_window_tracker_backend_show_
 
        signalID=g_signal_lookup("screen-size-changed", 
XFDASHBOARD_TYPE_WINDOW_TRACKER);
        handlerID=g_signal_handler_find(priv->windowTracker,
-                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC,
+                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
                                                                        
signalID,
                                                                        0,
                                                                        NULL,
                                                                        
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_screen_size_changed),
-                                                                       NULL);
+                                                                       
stageWindow);
        if(!handlerID)
        {
-               g_signal_connect(priv->windowTracker,
-                                                       "screen-size-changed",
-                                                       
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_screen_size_changed),
-                                                       self);
+               handlerID=g_signal_connect(priv->windowTracker,
+                                                                       
"screen-size-changed",
+                                                                       
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_screen_size_changed),
+                                                                       
stageWindow);
                XFDASHBOARD_DEBUG(self, WINDOWS,
-                                                       "Connecting signal to 
'screen-size-changed' at window %p (wnck-window=%p)",
+                                                       "Connecting signal 
handler %lu to 'screen-size-changed' at window %p (wnck-window=%p)",
+                                                       handlerID,
                                                        stageWindow,
                                                        stageWnckWindow);
        }
@@ -584,7 +587,7 @@ static void 
_xfdashboard_window_tracker_backend_x11_window_tracker_backend_show_
        
_xfdashboard_window_tracker_backend_x11_on_stage_screen_size_changed(XFDASHBOARD_WINDOW_TRACKER(priv->windowTracker),
                                                                                
                                                                        width,
                                                                                
                                                                        height,
-                                                                               
                                                                        self);
+                                                                               
                                                                        
inStageWindow);
 
        /* Now the window is set up and we can show it */
        xfdashboard_window_tracker_window_show(inStageWindow);
@@ -626,12 +629,12 @@ static void 
_xfdashboard_window_tracker_backend_x11_window_tracker_backend_hide_
        /* Disconnect signals */
        signalID=g_signal_lookup("state-changed", WNCK_TYPE_WINDOW);
        handlerID=g_signal_handler_find(stageWnckWindow,
-                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC,
+                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
                                                                        
signalID,
                                                                        0,
                                                                        NULL,
                                                                        
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_state_changed),
-                                                                       NULL);
+                                                                       
stageWindow);
        if(handlerID)
        {
                g_signal_handler_disconnect(stageWnckWindow, handlerID);
@@ -644,12 +647,12 @@ static void 
_xfdashboard_window_tracker_backend_x11_window_tracker_backend_hide_
 
        signalID=g_signal_lookup("active-window-changed", WNCK_TYPE_SCREEN);
        handlerID=g_signal_handler_find(screen,
-                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC,
+                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
                                                                        
signalID,
                                                                        0,
                                                                        NULL,
                                                                        
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_active_window_changed),
-                                                                       NULL);
+                                                                       
stageWindow);
        if(handlerID)
        {
                g_signal_handler_disconnect(screen, handlerID);
@@ -663,12 +666,12 @@ static void 
_xfdashboard_window_tracker_backend_x11_window_tracker_backend_hide_
 
        signalID=g_signal_lookup("screen-size-changed", 
XFDASHBOARD_TYPE_WINDOW_TRACKER);
        handlerID=g_signal_handler_find(priv->windowTracker,
-                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC,
+                                                                       
G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
                                                                        
signalID,
                                                                        0,
                                                                        NULL,
                                                                        
G_CALLBACK(_xfdashboard_window_tracker_backend_x11_on_stage_screen_size_changed),
-                                                                       NULL);
+                                                                       
stageWindow);
        if(handlerID)
        {
                g_signal_handler_disconnect(priv->windowTracker, handlerID);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to