2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
authorEmmanuele Bassi <ebassi@openedhand.com>
Tue, 6 Nov 2007 14:36:28 +0000 (14:36 +0000)
committerEmmanuele Bassi <ebassi@openedhand.com>
Tue, 6 Nov 2007 14:36:28 +0000 (14:36 +0000)
* clutter/clutter-box.c (clutter_box_dispose): Call unparent()
on the children, instead of destroy(), to avoid a double free
and a crash when destroying a ClutterBox.

ChangeLog
clutter/clutter-box.c

index 8b7f714..7bfa91e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
 
+       * clutter/clutter-box.c (clutter_box_dispose): Call unparent()
+       on the children, instead of destroy(), to avoid a double free
+       and a crash when destroying a ClutterBox.
+
+2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
        * clutter/clutter-label.c: Break the references in ::dispose,
        and free the resources in ::finalize.
 
index fd8778e..3a68930 100644 (file)
@@ -349,7 +349,7 @@ clutter_box_dispose (GObject *gobject)
     {
       ClutterBoxChild *child = l->data;
 
-      clutter_actor_destroy (child->actor);
+      clutter_actor_unparent (child->actor);
       g_slice_free (ClutterBoxChild, child);
     }