[gnome-flashback] shell: use signal handler id to disconnect



commit 094e35c07ca8087ec35dbd1f798e89a085b74749
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Wed Apr 27 18:33:34 2016 +0300

    shell: use signal handler id to disconnect

 gnome-flashback/libshell/flashback-osd.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gnome-flashback/libshell/flashback-osd.c b/gnome-flashback/libshell/flashback-osd.c
index 4b6a7a9..0f50aee 100644
--- a/gnome-flashback/libshell/flashback-osd.c
+++ b/gnome-flashback/libshell/flashback-osd.c
@@ -25,6 +25,8 @@ struct _FlashbackOsd
 
   GfOsdWindow **windows;
   gint          n_monitors;
+
+  gulong        monitors_changed_id;
 };
 
 G_DEFINE_TYPE (FlashbackOsd, flashback_osd, G_TYPE_OBJECT)
@@ -64,7 +66,7 @@ flashabck_osd_finalize (GObject *object)
   screen = gdk_screen_get_default ();
   osd = FLASHBACK_OSD (object);
 
-  g_signal_handlers_disconnect_by_func (screen, monitors_changed, osd);
+  g_signal_handler_disconnect (screen, osd->monitors_changed_id);
 
   if (osd->windows != NULL)
     {
@@ -95,8 +97,9 @@ flashback_osd_init (FlashbackOsd *osd)
 
   screen = gdk_screen_get_default ();
 
-  g_signal_connect (screen, "monitors-changed",
-                    G_CALLBACK (monitors_changed), osd);
+  osd->monitors_changed_id =
+    g_signal_connect (screen, "monitors-changed",
+                      G_CALLBACK (monitors_changed), osd);
 
   monitors_changed (screen, osd);
 }


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