window.c: use a consistent mapping from frame_type => decorated

If a window had a type hint intended for override-redirect windows
like NOTIFICATION, we ended up with a window that was decorated but
with a frame type of FRAME_TYPE_LAST, causing assertion failures.
Fix this by making recalc_window_features() just call
meta_window_get_frame_type().

https://bugzilla.gnome.org/show_bug.cgi?id=599988
This commit is contained in:
Owen W. Taylor 2011-10-17 11:42:35 -04:00
parent 9d4f3c5842
commit f94f008ed6

View File

@ -7754,10 +7754,8 @@ recalc_window_features (MetaWindow *window)
window->override_redirect) window->override_redirect)
window->always_sticky = TRUE; window->always_sticky = TRUE;
if (window->type == META_WINDOW_DESKTOP || if (window->override_redirect ||
window->type == META_WINDOW_DOCK || meta_window_get_frame_type (window) == META_FRAME_TYPE_LAST)
window->type == META_WINDOW_SPLASHSCREEN ||
window->override_redirect)
{ {
window->decorated = FALSE; window->decorated = FALSE;
window->has_close_func = FALSE; window->has_close_func = FALSE;