summaryrefslogtreecommitdiff
path: root/gladeui
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-10-23 17:02:23 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-10-23 17:02:23 -0300
commit9827ed69e62475e1fd540ae2a450d6e87d94aab4 (patch)
treeefb7670d8c62cd3aed1ec538fac2ef3c318bfa83 /gladeui
parentaf5e94df9f84027da3e8ec150b218487ee9fe554 (diff)
downloadglade-9827ed69e62475e1fd540ae2a450d6e87d94aab4.tar.gz
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"
Diffstat (limited to 'gladeui')
-rw-r--r--gladeui/glade-widget.c6
1 files 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);