summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-11-29 15:17:58 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-11-29 15:17:58 +0200
commit074af8f87ef89b13ff326fb5d04ee424bbfd4ced (patch)
tree0c982076097c11bda011ccb12ce7c0441158e38d
parentfa4d02c1125ee7ad16449e57972edbf7a2d9d29e (diff)
downloadmetacity-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.c38
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;