aboutsummaryrefslogtreecommitdiffstats
path: root/domain.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2017-07-18 12:11:40 +0200
committerGerd Hoffmann <kraxel@redhat.com>2017-07-18 12:11:40 +0200
commitd93f1d2c7680e2182c8f8f7cdb995504e28f43ca (patch)
tree942dc38400f540eab4fc29fad53d40b0ce19ad82 /domain.c
parent99995b7aefca4e91a72c032852e828466e2061ae (diff)
downloadvconsole-d93f1d2c7680e2182c8f8f7cdb995504e28f43ca.tar.gz
fix reparenting
Diffstat (limited to 'domain.c')
-rw-r--r--domain.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/domain.c b/domain.c
index fbbdec8..c5ead3b 100644
--- a/domain.c
+++ b/domain.c
@@ -398,8 +398,10 @@ static gboolean domain_window_close(GtkWidget *widget, GdkEvent *event,
struct vconsole_window *win = dom->conn->win;
GtkWidget *lhbox;
+ g_object_ref(dom->vbox);
gtk_container_remove(GTK_CONTAINER(dom->window), dom->vbox);
gtk_container_add(GTK_CONTAINER(win->notebook), dom->vbox);
+ g_object_unref(dom->vbox);
lhbox = tab_label_with_close_button(dom->name,
G_CALLBACK(domain_close_tab_btn),
dom);
@@ -418,8 +420,10 @@ void domain_untabify(struct vconsole_domain *dom)
return;
dom->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ g_object_ref(dom->vbox);
gtk_container_remove(GTK_CONTAINER(win->notebook), dom->vbox);
gtk_container_add(GTK_CONTAINER(dom->window), dom->vbox);
+ g_object_unref(dom->vbox);
gtk_window_set_title(GTK_WINDOW(dom->window), dom->name);
domain_vte_geometry_hints(dom, GTK_WINDOW(dom->window));
g_signal_connect(dom->window, "delete-event",