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



commit 2b5e7fbe0bcaa8efd80f9ae4e81813f0b283fd90
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]