From d93f1d2c7680e2182c8f8f7cdb995504e28f43ca Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 18 Jul 2017 12:11:40 +0200 Subject: fix reparenting --- domain.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'domain.c') 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", -- cgit