summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2012-05-11 11:51:51 +0100
committerBastien Nocera <hadess@hadess.net>2012-05-11 14:03:02 +0100
commite70da5bea9a3aa91b5950a3ad9d3f58b69ad12fc (patch)
treeaac6b8f5458196fdc9c35d6ad54183c7d4e6eafb
parentc29ecc8a0eec016b05b15d609f566965763e185e (diff)
downloadclutter-gtk-e70da5bea9a3aa91b5950a3ad9d3f58b69ad12fc.tar.gz
actor: Hide children before ourselves
Fixes errors like: Gtk-WARNING **: GtkClutterEmbed 0x11a3300 is mapped but visible child GtkClutterOffscreen 0x15d0490 is not mapped when destroying a GtkClutterActor. GTK+'s invariants checks expect children to not be visible anymore if they're not mapped. This can happen if we don't forcefully hide the GtkClutterActor's widget before unrealizing it. https://bugzilla.gnome.org/show_bug.cgi?id=675867
-rw-r--r--clutter-gtk/gtk-clutter-actor.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/clutter-gtk/gtk-clutter-actor.c b/clutter-gtk/gtk-clutter-actor.c
index 0e282da..22a8fb5 100644
--- a/clutter-gtk/gtk-clutter-actor.c
+++ b/clutter-gtk/gtk-clutter-actor.c
@@ -163,6 +163,7 @@ gtk_clutter_actor_unrealize (ClutterActor *actor)
if (priv->widget == NULL)
return;
+ gtk_widget_hide (priv->widget);
gtk_widget_unrealize (priv->widget);
priv->surface = NULL;