window: Don't reset pending_compositor_effect too early

With our surface_mapped strategy, implement_showing might not
change whether the window has been shown or not, and thus we
might end up clearing pending_compositor_effect before the window
is mapped.

Only clear pending_compositor_effect when the effect has actually
been used.
This commit is contained in:
Jasper St. Pierre 2014-04-28 16:58:45 -04:00
parent eb0c4db46d
commit f0175d1234

View File

@ -1842,8 +1842,6 @@ implement_showing (MetaWindow *window,
} }
else else
meta_window_show (window); meta_window_show (window);
window->pending_compositor_effect = META_COMP_EFFECT_NONE;
} }
void void
@ -2619,6 +2617,7 @@ meta_window_show (MetaWindow *window)
meta_compositor_show_window (window->display->compositor, meta_compositor_show_window (window->display->compositor,
window, effect); window, effect);
window->pending_compositor_effect = META_COMP_EFFECT_NONE;
} }
/* We don't want to worry about all cases from inside /* We don't want to worry about all cases from inside
@ -2708,6 +2707,7 @@ meta_window_hide (MetaWindow *window)
} }
meta_compositor_hide_window (window->display->compositor, window, effect); meta_compositor_hide_window (window->display->compositor, window, effect);
window->pending_compositor_effect = META_COMP_EFFECT_NONE;
} }
did_hide = FALSE; did_hide = FALSE;