[glade/glade-3-38] GladeWidget: fix rebuild() function



commit 93598cb03717a2023b32d264f62329f636ff75cc
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Fri Oct 23 17:02:23 2020 -0300

    GladeWidget: fix rebuild() function
    
    Remove object from project before extracting children since we clear up
    GladeWidget back references for internal children.
    
    Fix issue #484 "Crash with GtkRecentChooserDialog"

 gladeui/glade-widget.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c
index 2b5f5437..0cc70635 100644
--- a/gladeui/glade-widget.c
+++ b/gladeui/glade-widget.c
@@ -2552,9 +2552,6 @@ glade_widget_rebuild (GladeWidget *gwidget)
 
   g_object_ref (gwidget);
 
-  /* Extract and keep the child hierarchies aside... */
-  children = glade_widget_extract_children (gwidget);
-
   /* Here we take care removing the widget from the project and
    * the selection before rebuilding the instance.
    */
@@ -2569,6 +2566,9 @@ glade_widget_rebuild (GladeWidget *gwidget)
       glade_project_remove_object (project, gwidget->priv->object);
     }
 
+  /* Extract and keep the child hierarchies aside... */
+  children = glade_widget_extract_children (gwidget);
+
   /* parentless_widget and object properties that refer to this widget 
    * should be unset before transferring */
   l = g_list_copy (gwidget->priv->properties);


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