mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
window: Don't map the client window before placing it
A lot of applications assume that the window is fully positioned when it gets the MapNotify, especially simple applications. Make sure that the window is only mapped through the calc_showing logic.
This commit is contained in:
parent
e7727d698f
commit
604d2155ba
@ -1157,9 +1157,6 @@ _meta_window_shared_new (MetaDisplay *display,
|
|||||||
/* disable show desktop mode unless we're a desktop component */
|
/* disable show desktop mode unless we're a desktop component */
|
||||||
maybe_leave_show_desktop_mode (window);
|
maybe_leave_show_desktop_mode (window);
|
||||||
|
|
||||||
if (!window->override_redirect)
|
|
||||||
sync_client_window_mapped (window);
|
|
||||||
|
|
||||||
meta_window_queue (window, META_QUEUE_CALC_SHOWING);
|
meta_window_queue (window, META_QUEUE_CALC_SHOWING);
|
||||||
/* See bug 303284; a transient of the given window can already exist, in which
|
/* See bug 303284; a transient of the given window can already exist, in which
|
||||||
* case we think it should probably be shown.
|
* case we think it should probably be shown.
|
||||||
@ -1523,9 +1520,6 @@ implement_showing (MetaWindow *window,
|
|||||||
meta_verbose ("Implement showing = %d for window %s\n",
|
meta_verbose ("Implement showing = %d for window %s\n",
|
||||||
showing, window->desc);
|
showing, window->desc);
|
||||||
|
|
||||||
if (!window->override_redirect)
|
|
||||||
sync_client_window_mapped (window);
|
|
||||||
|
|
||||||
if (!showing)
|
if (!showing)
|
||||||
{
|
{
|
||||||
/* When we manage a new window, we normally delay placing it
|
/* When we manage a new window, we normally delay placing it
|
||||||
@ -1541,6 +1535,9 @@ implement_showing (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
meta_window_show (window);
|
meta_window_show (window);
|
||||||
|
|
||||||
|
if (!window->override_redirect)
|
||||||
|
sync_client_window_mapped (window);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user