[balsa/gtk3] Simplify notebook-label destruction



commit a556ea969ab3cdeca9b48c26a336b04456e9930c
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Mon Feb 2 17:51:49 2015 -0500

    Simplify notebook-label destruction
    
        * src/main-window.c (bw_notebook_label_new): use
        g_signal_connect_object to handle destruction of label, instead
        of a weak-ref.

 ChangeLog         |    8 ++++++++
 src/main-window.c |   14 ++------------
 2 files changed, 10 insertions(+), 12 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1570b09..14a00d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2015-02-02  Peter Bloomfield  <pbloomfield bellsouth net>
 
+       Simplify notebook-label destruction
+
+       * src/main-window.c (bw_notebook_label_new): use
+       g_signal_connect_object to handle destruction of label, instead
+       of a weak-ref.
+
+2015-02-02  Peter Bloomfield  <pbloomfield bellsouth net>
+
        Close compose windows on exit
 
        * src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
diff --git a/src/main-window.c b/src/main-window.c
index 9a086a1..a68c4d2 100644
--- a/src/main-window.c
+++ b/src/main-window.c
@@ -2751,14 +2751,6 @@ bw_mailbox_changed(LibBalsaMailbox * mailbox, GtkLabel * lab)
     bw_notebook_label_style(lab, libbalsa_mailbox_get_unread(mailbox) > 0);
 }
 
-static void
-bw_notebook_label_notify(LibBalsaMailbox * mailbox, GtkLabel * lab)
-{
-    if (LIBBALSA_IS_MAILBOX(mailbox))
-        g_signal_handlers_disconnect_by_func(mailbox, bw_mailbox_changed,
-                                             lab);
-}
-
 static GtkWidget *
 bw_notebook_label_new(BalsaMailboxNode * mbnode)
 {
@@ -2791,10 +2783,8 @@ bw_notebook_label_new(BalsaMailboxNode * mbnode)
 
     bw_notebook_label_style(GTK_LABEL(lab),
                             libbalsa_mailbox_get_unread(mbnode->mailbox) > 0);
-    g_signal_connect(mbnode->mailbox, "changed",
-                     G_CALLBACK(bw_mailbox_changed), lab);
-    g_object_weak_ref(G_OBJECT(lab), (GWeakNotify) bw_notebook_label_notify,
-                      mbnode->mailbox);
+    g_signal_connect_object(mbnode->mailbox, "changed",
+                            G_CALLBACK(bw_mailbox_changed), lab, 0);
     gtk_box_pack_start(GTK_BOX(box), lab, TRUE, TRUE, 0);
 
     but = gtk_button_new();


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