[mutter/wayland] window-group: Don't special-case the unredirected window



commit c251eb8ec036df6381ddc81e91e056227ded2b03
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 c607197..f0cbc0c 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -1651,11 +1651,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]