diff --git a/ChangeLog b/ChangeLog index 9b5d2acd6..044d4ffc4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-07-31 Neil Roberts + + Bug 1075 - Difficult to bind clutter_stage_new + + * clutter/clutter-stage.c (clutter_stage_dispose): Unrealize the + stage before removing the update idle handler. Otherwise + unrealizing causes another redraw to be queued and if the stage + object remains alive it will cause an assert and abort. + 2008-07-30 Neil Roberts * clutter/clutter-stage.c (clutter_stage_class_init): Added the diff --git a/clutter/clutter-stage.c b/clutter/clutter-stage.c index 85052b452..298d8ec97 100644 --- a/clutter/clutter-stage.c +++ b/clutter/clutter-stage.c @@ -455,14 +455,14 @@ clutter_stage_dispose (GObject *object) ClutterStagePrivate *priv = stage->priv; ClutterStageManager *stage_manager = clutter_stage_manager_get_default (); + clutter_actor_unrealize (CLUTTER_ACTOR (object)); + if (priv->update_idle) { g_source_remove (priv->update_idle); priv->update_idle = 0; } - clutter_actor_unrealize (CLUTTER_ACTOR (object)); - _clutter_stage_manager_remove_stage (stage_manager, stage); if (priv->impl)