diff options
Diffstat (limited to 'gladeui/glade-command.c')
-rw-r--r-- | gladeui/glade-command.c | 17 |
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); } |