summaryrefslogtreecommitdiff
path: root/gladeui/glade-command.c
diff options
context:
space:
mode:
Diffstat (limited to 'gladeui/glade-command.c')
-rw-r--r--gladeui/glade-command.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/gladeui/glade-command.c b/gladeui/glade-command.c
index ea58e14b..e8a0f5a4 100644
--- a/gladeui/glade-command.c
+++ b/gladeui/glade-command.c
@@ -1384,6 +1384,7 @@ glade_command_add_execute (GladeCommandAddRemove *me)
/* Toplevels get pasted to the active project */
add_project = (me->from_clipboard && cdata->widget->parent == NULL) ?
active_project : me->project;
+
glade_project_add_object (add_project, cdata->project, cdata->widget->object);
for (l = cdata->reffed; l; l = l->next)
@@ -1413,14 +1414,6 @@ glade_command_remove_execute (GladeCommandAddRemove *me)
{
cdata = list->data;
- if (cdata->parent)
- {
- if (cdata->placeholder)
- glade_widget_replace(cdata->parent, cdata->widget->object, G_OBJECT (cdata->placeholder));
- else
- glade_widget_remove_child (cdata->parent, cdata->widget);
- }
-
glade_project_remove_object(GLADE_PROJECT (cdata->widget->project), cdata->widget->object);
for (l = cdata->reffed; l; l = l->next)
@@ -1429,6 +1422,14 @@ glade_command_remove_execute (GladeCommandAddRemove *me)
glade_project_remove_object(GLADE_PROJECT (cdata->widget->project), reffed->object);
}
+ if (cdata->parent)
+ {
+ if (cdata->placeholder)
+ glade_widget_replace(cdata->parent, cdata->widget->object, G_OBJECT (cdata->placeholder));
+ else
+ glade_widget_remove_child (cdata->parent, cdata->widget);
+ }
+
glade_widget_hide (cdata->widget);
}