guard against hiding priv->stage when already destroyed during dispose
authorRobert Bragg <robert@linux.intel.com>
Tue, 16 Jun 2009 14:09:24 +0000 (15:09 +0100)
committerRobert Bragg <robert@linux.intel.com>
Tue, 16 Jun 2009 14:09:24 +0000 (15:09 +0100)
Before chaining up to gtk in gtk_clutter_embed_dispose we destroy
priv->stage, but gtk will emit a hide signal during it's dispose so we
need to guard against calling clutter_actor_hide (priv->stage) if
the stage has been destroyed.

clutter-gtk/gtk-clutter-embed.c

index 94269e0..e3137af 100644 (file)
@@ -142,7 +142,10 @@ gtk_clutter_embed_hide (GtkWidget *widget)
 {
   GtkClutterEmbedPrivate *priv = GTK_CLUTTER_EMBED (widget)->priv;
 
-  clutter_actor_hide (priv->stage);
+  /* gtk emits a hide signal during dispose, so it's possible we may
+   * have already disposed priv->stage. */
+  if (priv->stage)
+    clutter_actor_hide (priv->stage);
 
   GTK_WIDGET_CLASS (gtk_clutter_embed_parent_class)->hide (widget);
 }