stage: Ignore redraws on destroyed stages

We might get requests to redraw even during destruction; we should
ignore them and do some NULL checks instead of blindly invoking
functions.
This commit is contained in:
Emmanuele Bassi 2010-07-20 14:39:43 +01:00
parent 7b6b2ea55b
commit f2d0f0ab5f

View File

@ -771,6 +771,13 @@ gboolean
_clutter_stage_has_full_redraw_queued (ClutterStage *stage)
{
ClutterStageWindow *stage_window = _clutter_stage_get_window (stage);
gboolean in_destruction;
in_destruction =
((CLUTTER_PRIVATE_FLAGS (stage) & CLUTTER_ACTOR_IN_DESTRUCTION) != FALSE);
if (in_destruction || stage_window == NULL)
return FALSE;
if (stage->priv->redraw_pending &&
!_clutter_stage_window_has_redraw_clips (stage_window))