From bc96a14185a5d320582ad0b2c25222269d776fbf Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Wed, 29 Aug 2012 14:50:31 -0300 Subject: [PATCH] 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 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c index becb33654..08e26c36a 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); }