[mutter/wip/surface-content: 6/7] window-group: Don't special-case the unredirected window



commit 05b5406d827fe38fb01489382daf471bc374d34d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sat Feb 15 11:51:39 2014 -0500

    window-group: Don't special-case the unredirected window
    
    Since the unredirected window MetaWindowActor is stacked on top, it
    will naturally get culled out of the process, so we can remove the
    special casing here. Unfortunately, with the way that the code is
    currently structured, it's too difficult to actually prevent setting
    the clip / visible regions if the window is redirected, so just let
    those be set for unredirected windows for now.

 src/compositor/meta-window-actor.c |    3 ++-
 src/compositor/meta-window-group.c |   13 -------------
 2 files changed, 2 insertions(+), 14 deletions(-)
---
diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
index f9568f3..b833378 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -1654,11 +1654,12 @@ meta_window_actor_cull_out (MetaCullable   *cullable,
   MetaWindowActor *self = META_WINDOW_ACTOR (cullable);
   MetaWindowActorPrivate *priv = self->priv;
 
+  meta_cullable_cull_out_children (cullable, unobscured_region, clip_region);
+
   /* Don't do any culling for the unredirected window */
   if (priv->unredirected)
     return;
 
-  meta_cullable_cull_out_children (cullable, unobscured_region, clip_region);
   meta_window_actor_set_clip_region_beneath (self, clip_region);
 }
 
diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c
index 5420605..4096e48 100644
--- a/src/compositor/meta-window-group.c
+++ b/src/compositor/meta-window-group.c
@@ -164,19 +164,6 @@ meta_window_group_paint (ClutterActor *actor)
   paint_y_offset = paint_y_origin - actor_y_origin;
   cairo_region_translate (clip_region, -paint_x_offset, -paint_y_offset);
 
-  if (!meta_is_wayland_compositor ())
-    {
-      MetaCompScreen *info = meta_screen_get_compositor_data (window_group->screen);
-      if (info->unredirected_window != NULL)
-        {
-          cairo_rectangle_int_t unredirected_rect;
-
-          meta_window_get_frame_rect (info->unredirected_window, (MetaRectangle *)&unredirected_rect);
-          cairo_region_subtract_rectangle (unobscured_region, &unredirected_rect);
-          cairo_region_subtract_rectangle (clip_region, &unredirected_rect);
-        }
-    }
-
   meta_cullable_cull_out (META_CULLABLE (window_group), unobscured_region, clip_region);
 
   cairo_region_destroy (unobscured_region);


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