diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2018-11-29 15:17:58 +0200 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2018-11-29 15:17:58 +0200 |
commit | 074af8f87ef89b13ff326fb5d04ee424bbfd4ced (patch) | |
tree | 0c982076097c11bda011ccb12ce7c0441158e38d | |
parent | fa4d02c1125ee7ad16449e57972edbf7a2d9d29e (diff) | |
download | metacity-074af8f87ef89b13ff326fb5d04ee424bbfd4ced.tar.gz |
revert "unminimize windows with initial IconicState if first known on MapRequest"
According to ICCCM client is allowed to go from Withdrawn to Iconic
state. Also there are x11 apps that has -iconic command line option
that was broken.
Revert 6875256e63fbfd4500ddd27a7bf1aafc8d4c1ca3 commit to restore
previous behaviour.
https://gitlab.gnome.org/GNOME/metacity/issues/4
-rw-r--r-- | src/core/display.c | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/src/core/display.c b/src/core/display.c index ed0aaf7f..273c97c5 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -2297,34 +2297,22 @@ event_callback (XEvent *event, { window = meta_window_new (display, event->xmaprequest.window, FALSE, META_EFFECT_TYPE_CREATE); - - /* The window might have initial iconic state, but this is a - * MapRequest, fall through to ensure it is unminimized in - * that case. - */ } - else if (frame_was_receiver) + /* if frame was receiver it's some malicious send event or something */ + else if (!frame_was_receiver && window) { - g_warning ("Map requests on the frame window are unexpected"); - break; - } - - /* Double check that creating the MetaWindow succeeded */ - if (window == NULL) - break; - - meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n", - window->desc, window->mapped, window->minimized); - - if (window->minimized) - { - meta_window_unminimize (window); - if (window->workspace != window->screen->active_workspace) + meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n", + window->desc, window->mapped, window->minimized); + if (window->minimized) { - meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n", - window->mapped, window->minimized); - meta_window_change_workspace (window, - window->screen->active_workspace); + meta_window_unminimize (window); + if (window->workspace != window->screen->active_workspace) + { + meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n", + window->mapped, window->minimized); + meta_window_change_workspace (window, + window->screen->active_workspace); + } } } break; |