[Xfce4-commits] [xfce/xfce4-panel] 11/24: Fix signal disconnecting

noreply at xfce.org noreply at xfce.org
Tue Jul 4 00:03:42 CEST 2017


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

o   c   h   o   s   i       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/xfce4-panel.

commit a386a6e1b1ce814fcc587ab1a0bb47261fbbd0f3
Author: Ali Abdallah <ali at xfce.org>
Date:   Fri Jun 23 13:43:45 2017 +0200

    Fix signal disconnecting
    
    Use -1 as a default timeout for the wrapper.
---
 wrapper/main.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/wrapper/main.c b/wrapper/main.c
index 9a50593..d9531e4 100644
--- a/wrapper/main.c
+++ b/wrapper/main.c
@@ -167,7 +167,7 @@ wrapper_dbus_return_remote_event_result (GDBusProxy *proxy,
                                                    handle,
                                                    wrapper_result),
                                     G_DBUS_CALL_FLAGS_NONE,
-                                    100000000, /* 100 seconds worth of timeout */
+                                    -1,
                                     NULL,
                                     &error);
 
@@ -257,7 +257,7 @@ wrapper_gproxy_provider_signal (XfcePanelPluginProvider       *provider,
                                     g_variant_new ("(u)",
                                                    provider_signal),
                                     G_DBUS_CALL_FLAGS_NONE,
-                                    100000000, /* 100 seconds worth of timeout */
+                                    -1,
                                     NULL,
                                     &error);
 
@@ -420,8 +420,8 @@ main (gint argc, gchar **argv)
           G_CALLBACK (wrapper_gproxy_provider_signal), dbus_gproxy);
 
       /* connect to service signals */
-      g_signal_connect (dbus_gproxy, "g-signal",
-                        G_CALLBACK (wrapper_gproxy_g_signal), provider);
+      gproxy_signal_id = g_signal_connect (dbus_gproxy, "g-signal",
+                                           G_CALLBACK (wrapper_gproxy_g_signal), provider);
 
       /* show the plugin */
       gtk_widget_show (GTK_WIDGET (provider));
@@ -447,7 +447,8 @@ main (gint argc, gchar **argv)
 leave:
   if (G_LIKELY (dbus_gproxy != NULL))
     {
-      if (G_LIKELY (gproxy_destroy_id != 0))
+      /* We are listening to destroy notify signal but we go no plugin provider */
+      if (G_LIKELY (gproxy_destroy_id != 0) && provider == NULL)
         g_signal_handler_disconnect (G_OBJECT (dbus_gproxy), gproxy_destroy_id);
 
       g_object_unref (G_OBJECT (dbus_gproxy));

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


More information about the Xfce4-commits mailing list