[libadwaita/wip/exalm/view-switcher: 43/43] view-switcher-title: Fix dispose()




commit 04c60aeceeb04d70034ce9ab5741b94098c308c3
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Mon Mar 22 15:36:57 2021 +0500

    view-switcher-title: Fix dispose()
    
    We connected to a signal on pages, not on stack. Also, make sure not to
    unparent the squeezer multiple times.
    
    Fixes https://gitlab.gnome.org/exalm/libadwaita/-/issues/22

 src/adw-view-switcher-title.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
---
diff --git a/src/adw-view-switcher-title.c b/src/adw-view-switcher-title.c
index abcdd92..ba505e5 100644
--- a/src/adw-view-switcher-title.c
+++ b/src/adw-view-switcher-title.c
@@ -192,14 +192,11 @@ static void
 adw_view_switcher_title_dispose (GObject *object) {
   AdwViewSwitcherTitle *self = (AdwViewSwitcherTitle *)object;
 
-  if (self->view_switcher) {
-    GtkStack *stack = adw_view_switcher_get_stack (self->view_switcher);
-
-    if (stack)
-      g_signal_handlers_disconnect_by_func (stack, G_CALLBACK (update_view_switcher_visible), self);
-  }
+  if (self->pages)
+    g_signal_handlers_disconnect_by_func (self->pages, G_CALLBACK (update_view_switcher_visible), self);
 
-  gtk_widget_unparent (GTK_WIDGET (self->squeezer));
+  if (self->squeezer)
+    gtk_widget_unparent (GTK_WIDGET (self->squeezer));
 
   G_OBJECT_CLASS (adw_view_switcher_title_parent_class)->dispose (object);
 }


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