[balsa/wip/gtk4: 267/351] balsa index: store gesture in the object



commit 2b0dd39ab39162f2049096e11084fdbb29a018c7
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Sun Apr 1 16:31:08 2018 -0400

    balsa index: store gesture in the object

 src/balsa-index.c |   15 ++++++---------
 src/balsa-index.h |    2 ++
 2 files changed, 8 insertions(+), 9 deletions(-)
---
diff --git a/src/balsa-index.c b/src/balsa-index.c
index 51c1b9e..c40afcb 100644
--- a/src/balsa-index.c
+++ b/src/balsa-index.c
@@ -239,17 +239,14 @@ bndx_destroy(GObject * obj)
         }
     }
 
-    if (index->search_iter) {
-        libbalsa_mailbox_search_iter_unref(index->search_iter);
-        index->search_iter = NULL;
-    }
+    g_clear_pointer(&index->search_iter, libbalsa_mailbox_search_iter_unref);
+    g_clear_pointer(&index->filter_string, g_free);
 
     g_clear_object(&index->popup_menu);
+    g_clear_object(&index->gesture);
 
-    g_free(index->filter_string); index->filter_string = NULL;
-
-    if (G_OBJECT_CLASS(parent_class)->dispose)
-        (*G_OBJECT_CLASS(parent_class)->dispose) (obj);
+    if (G_OBJECT_CLASS(parent_class)->dispose != NULL)
+        G_OBJECT_CLASS(parent_class)->dispose(obj);
 }
 
 /* Widget class popup menu method. */
@@ -431,8 +428,8 @@ bndx_instance_init(BalsaIndex * index)
     /* we want to handle button presses to pop up context menus if
      * necessary */
     gesture = gtk_gesture_multi_press_new(GTK_WIDGET(index));
+    index->gesture = gesture;
     gtk_gesture_single_set_button(GTK_GESTURE_SINGLE(gesture), 0);
-    g_object_set_data_full(G_OBJECT(index), "balsa-gesture", gesture, g_object_unref);
     g_signal_connect(gesture, "pressed",
                     G_CALLBACK(bndx_gesture_pressed_cb), NULL);
 
diff --git a/src/balsa-index.h b/src/balsa-index.h
index f5404f9..5ab256e 100644
--- a/src/balsa-index.h
+++ b/src/balsa-index.h
@@ -71,6 +71,8 @@ G_BEGIN_DECLS
 
        LibBalsaMailboxSearchIter *search_iter;
         BalsaIndexWidthPreference width_preference;
+
+        GtkGesture *gesture;
     };
 
     struct _BalsaIndexClass {


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