[mutter/wip/surface-two: 1/4] Revert "compositor: Delay meta_compositor_add_window until the first show"



commit 9b24ae2033f2b512bd955d5be02c690c389d75d2
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Feb 24 12:56:30 2014 -0500

    Revert "compositor: Delay meta_compositor_add_window until the first show"
    
    This reverts commit 4efe4483fbc7602e8358fda936074216a8e5544b.

 src/compositor/compositor.c |   26 ++++++++++++++++----------
 src/core/window.c           |    7 +++++--
 2 files changed, 21 insertions(+), 12 deletions(-)
---
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index a323c31..dcf1136 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -141,6 +141,19 @@ meta_compositor_destroy (MetaCompositor *compositor)
 }
 
 static void
+add_win (MetaWindow *window)
+{
+  MetaScreen           *screen = meta_window_get_screen (window);
+  MetaCompScreen        *info = meta_screen_get_compositor_data (screen);
+
+  g_return_if_fail (info != NULL);
+
+  meta_window_actor_new (window);
+
+  sync_actor_stacking (info);
+}
+
+static void
 process_damage (MetaCompositor     *compositor,
                 XDamageNotifyEvent *event,
                 MetaWindow         *window)
@@ -819,20 +832,13 @@ meta_compositor_add_window (MetaCompositor    *compositor,
 {
   MetaScreen *screen = meta_window_get_screen (window);
   MetaDisplay *display = meta_screen_get_display (screen);
-  MetaCompScreen *info = meta_screen_get_compositor_data (screen);
 
-  g_return_if_fail (info != NULL);
+  DEBUG_TRACE ("meta_compositor_add_window\n");
+  meta_error_trap_push (display);
 
-  /* Window was already added previously, probably coming
-   * back from hiding */
-  if (window->compositor_private != NULL)
-    return;
+  add_win (window);
 
-  meta_error_trap_push (display);
-  meta_window_actor_new (window);
   meta_error_trap_pop (display);
-
-  sync_actor_stacking (info);
 }
 
 void
diff --git a/src/core/window.c b/src/core/window.c
index 81ca3f8..10a1b40 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -1217,6 +1217,9 @@ _meta_window_shared_new (MetaDisplay         *display,
       set_net_wm_state (window);
     }
 
+  if (screen->display->compositor)
+    meta_compositor_add_window (screen->display->compositor, window);
+
   /* Sync stack changes */
   meta_stack_thaw (window->screen->stack);
 
@@ -2769,8 +2772,8 @@ meta_window_show (MetaWindow *window)
               break;
             }
 
-          meta_compositor_add_window (window->display->compositor, window);
-          meta_compositor_show_window (window->display->compositor, window, effect);
+          meta_compositor_show_window (window->display->compositor,
+                                       window, effect);
         }
     }
 


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