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
meta_window_show (window);
window->pending_compositor_effect = META_COMP_EFFECT_NONE;
}
void
@ -2619,6 +2617,7 @@ meta_window_show (MetaWindow *window)
meta_compositor_show_window (window->display->compositor,
window, effect);
window->pending_compositor_effect = META_COMP_EFFECT_NONE;
}
/* 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);
window->pending_compositor_effect = META_COMP_EFFECT_NONE;
}
did_hide = FALSE;