[metacity] revert "unminimize windows with initial IconicState if first known on MapRequest"



commit 074af8f87ef89b13ff326fb5d04ee424bbfd4ced
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Nov 29 15:17:58 2018 +0200

    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

 src/core/display.c | 38 +++++++++++++-------------------------
 1 file 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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]