Unparent rather than destroy MutterWindows.

clutter_actor_destroy() is pure evil, wreaking havoc in reference tracking.
This commit is contained in:
Tomas Frydrych 2009-02-09 16:39:26 +00:00
parent 6893ef034b
commit 16d49695ad

View File

@ -972,7 +972,7 @@ mutter_window_effect_completed (MutterWindow *cw, gulong event)
if (priv->needs_destroy && effect_in_progress (cw, TRUE) == FALSE) if (priv->needs_destroy && effect_in_progress (cw, TRUE) == FALSE)
{ {
clutter_actor_destroy (CLUTTER_ACTOR (cw)); clutter_actor_unparent (CLUTTER_ACTOR (cw));
return; return;
} }
@ -1040,7 +1040,7 @@ destroy_win (MutterWindow *cw)
/* /*
* No effects, just kill it. * No effects, just kill it.
*/ */
clutter_actor_destroy (CLUTTER_ACTOR (cw)); clutter_actor_unparent (CLUTTER_ACTOR (cw));
return; return;
} }
@ -1062,7 +1062,7 @@ destroy_win (MutterWindow *cw)
priv->needs_destroy = TRUE; priv->needs_destroy = TRUE;
} }
else else
clutter_actor_destroy (CLUTTER_ACTOR (cw)); clutter_actor_unparent (CLUTTER_ACTOR (cw));
} }
} }