]> Pileus Git - ~andy/gtk/commitdiff
Make destroying assistants work again
authorMatthias Clasen <mclasen@redhat.com>
Sun, 17 Jul 2011 23:35:37 +0000 (19:35 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 17 Jul 2011 23:35:37 +0000 (19:35 -0400)
During destruction, we need to be careful to not ask the content
notebook to remove itself from itself.

gtk/gtkassistant.c

index 0bed0d56e1cf903d70c98d176a3c9f4c6c4ad506..c0f72a6ee90d14885e4cc7bd6c0b521a06d1d3ac 100644 (file)
@@ -1300,9 +1300,12 @@ gtk_assistant_remove (GtkContainer *container,
 {
   GtkAssistant *assistant = (GtkAssistant*) container;
 
-  /* Forward this removal to the content notebook. */
-  container = (GtkContainer *) assistant->priv->content;
-  gtk_container_remove (container, page);
+  /* Forward this removal to the content notebook */
+  if (gtk_widget_get_parent (page) == assistant->priv->content)
+    {
+      container = (GtkContainer *) assistant->priv->content;
+      gtk_container_remove (container, page);
+    }
 }
 
 /**
@@ -1668,7 +1671,7 @@ gtk_assistant_remove_page (GtkAssistant *assistant,
   page = gtk_assistant_get_nth_page (assistant, page_num);
 
   if (page)
-    gtk_assistant_remove (assistant, page);
+    gtk_assistant_remove (GTK_CONTAINER (assistant), page);
 }
 
 /**