[clutter-gtk] actor: Hide children before ourselves



commit e70da5bea9a3aa91b5950a3ad9d3f58b69ad12fc
Author: Bastien Nocera <hadess hadess net>
Date:   Fri May 11 11:51:51 2012 +0100

    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

 clutter-gtk/gtk-clutter-actor.c |    1 +
 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;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]