diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index ac3f42dad..b57b41c0d 100644 --- a/clutter/clutter-actor.c +++ b/clutter/clutter-actor.c @@ -4269,6 +4269,11 @@ clutter_actor_destroy (ClutterActor *self) { CLUTTER_SET_PRIVATE_FLAGS (self, CLUTTER_ACTOR_IN_DESTRUCTION); + /* if we are destroying we want to unrealize ourselves + * first before the dispose run removes the parent + */ + clutter_actor_update_map_state (self, MAP_STATE_MAKE_UNREALIZED); + g_object_run_dispose (G_OBJECT (self)); CLUTTER_SET_PRIVATE_FLAGS (self, CLUTTER_ACTOR_IN_DESTRUCTION);