[mutter] window-group: Subtract the unredirected window in stage space



commit bc96a14185a5d320582ad0b2c25222269d776fbf
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Wed Aug 29 14:50:31 2012 -0300

    window-group: Subtract the unredirected window in stage space
    
    meta_window_group_paint tries to carefully figure out which parts of the
    scene it can avoid painting. One area it avoids painting is the region of
    the screen occupied by an unredirected window (if there's one present).
    When subtracting from the visible region, it gets the coordinate spaces
    confused, and ends up subtracting the area at the wrong offset. Fix this
    by translating the rectangle subtracted from the visible region.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=677116

 src/compositor/meta-window-group.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c
index becb336..08e26c3 100644
--- a/src/compositor/meta-window-group.c
+++ b/src/compositor/meta-window-group.c
@@ -236,8 +236,11 @@ meta_window_group_paint (ClutterActor *actor)
 
   if (info->unredirected_window != NULL)
     {
+      int x, y;
       cairo_rectangle_int_t unredirected_rect;
-      meta_window_actor_get_shape_bounds (META_WINDOW_ACTOR (info->unredirected_window), &unredirected_rect);
+      MetaWindow *window = meta_window_actor_get_meta_window (info->unredirected_window);
+
+      meta_window_get_outer_rect (window, &unredirected_rect);
       cairo_region_subtract_rectangle (visible_region, &unredirected_rect);
     }
 



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