mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 23:50:41 -05:00
Avoid flashing when closing a maximized window. Fixes #317254.
2006-01-20 Elijah Newren <newren gmail com> Avoid flashing when closing a maximized window. Fixes #317254. * src/window.c (unmaximize_window_before_freeing): new function that just fixes the net_wm_state and sends a configure_notify, (meta_window_free): use unmaximize_window_before_freeing() instead of meta_window_unmaximize() to avoid flicker
This commit is contained in:
parent
6f318f1a75
commit
dcec11274a
@ -1,3 +1,12 @@
|
||||
2006-01-20 Elijah Newren <newren gmail com>
|
||||
|
||||
Avoid flashing when closing a maximized window. Fixes #317254.
|
||||
|
||||
* src/window.c (unmaximize_window_before_freeing): new function
|
||||
that just fixes the net_wm_state and sends a configure_notify,
|
||||
(meta_window_free): use unmaximize_window_before_freeing() instead
|
||||
of meta_window_unmaximize() to avoid flicker
|
||||
|
||||
2006-01-20 Elijah Newren <newren gmail com>
|
||||
|
||||
Fix unitialized value problem when in raise-on-click mode. Søren,
|
||||
|
21
src/window.c
21
src/window.c
@ -119,6 +119,8 @@ static gboolean queue_calc_showing_func (MetaWindow *window,
|
||||
static void meta_window_apply_session_info (MetaWindow *window,
|
||||
const MetaWindowSessionInfo *info);
|
||||
|
||||
static void unmaximize_window_before_freeing (MetaWindow *window);
|
||||
|
||||
#ifdef WITH_VERBOSE_MODE
|
||||
static const char*
|
||||
wm_state_to_string (int state)
|
||||
@ -977,9 +979,7 @@ meta_window_free (MetaWindow *window)
|
||||
if (window->display->focus_window == window)
|
||||
window->display->focus_window = NULL;
|
||||
|
||||
if (window->maximized_horizontally || window->maximized_vertically)
|
||||
meta_window_unmaximize (window,
|
||||
META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL);
|
||||
unmaximize_window_before_freeing (window);
|
||||
|
||||
meta_window_unqueue_calc_showing (window);
|
||||
meta_window_unqueue_move_resize (window);
|
||||
@ -2230,6 +2230,21 @@ meta_window_maximize (MetaWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
unmaximize_window_before_freeing (MetaWindow *window)
|
||||
{
|
||||
meta_topic (META_DEBUG_WINDOW_OPS,
|
||||
"Unmaximizing %s just before freeing\n",
|
||||
window->desc);
|
||||
|
||||
window->rect = window->saved_rect;
|
||||
send_configure_notify (window);
|
||||
|
||||
window->maximized_horizontally = FALSE;
|
||||
window->maximized_vertically = FALSE;
|
||||
set_net_wm_state (window);
|
||||
}
|
||||
|
||||
void
|
||||
meta_window_unmaximize (MetaWindow *window,
|
||||
MetaMaximizeFlags directions)
|
||||
|
Loading…
Reference in New Issue
Block a user