[glade/glade-3-38] GladeGtkBox: fix glade_gtk_box_post_create



commit 2e2475bb27f891d3ad71cbd5b7152b4751da5874
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Fri Oct 2 16:08:23 2020 -0300

    GladeGtkBox: fix glade_gtk_box_post_create
    
    Some widgets with contruct properties like GtkMessageDialog get
    rebuilt right after they are created on project loading so we need
    to check glade_project_is_loading() intead of GLADE_CREATE_LOAD
    and use the object ad the connect data to make sure it gets disconected
    if it was the object being rebuilt
    
    Fix issue #479 "Glade 3.36.0 segfaults when opening a file"

 plugins/gtk+/glade-gtk-box.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/plugins/gtk+/glade-gtk-box.c b/plugins/gtk+/glade-gtk-box.c
index cd3a3f0c..52714b65 100644
--- a/plugins/gtk+/glade-gtk-box.c
+++ b/plugins/gtk+/glade-gtk-box.c
@@ -57,9 +57,9 @@ glade_gtk_box_create_editable (GladeWidgetAdaptor *adaptor,
 }
 
 static void
-glade_gtk_box_parse_finished (GladeProject *project, GladeWidget *gbox)
+glade_gtk_box_parse_finished (GladeProject *project, GObject *box)
 {
-  GObject *box = glade_widget_get_object (gbox);
+  GladeWidget *gbox = glade_widget_get_from_gobject (box);
 
   glade_widget_property_set (gbox, "use-center-child",
                              gtk_box_get_center_widget (GTK_BOX (box)) != NULL);
@@ -86,11 +86,11 @@ glade_gtk_box_post_create (GladeWidgetAdaptor *adaptor,
   g_signal_connect (G_OBJECT (gwidget), "configure-end",
                     G_CALLBACK (glade_gtk_box_configure_end), container);
 
-  if (reason == GLADE_CREATE_LOAD)
+  if (glade_project_is_loading (project))
     {
       g_signal_connect_object (project, "parse-finished",
                                G_CALLBACK (glade_gtk_box_parse_finished),
-                               gwidget, 0);
+                               container, 0);
     }
 }
 


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