summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2012-08-29 14:50:31 -0300
committerJasper St. Pierre <jstpierre@mecheye.net>2012-08-29 15:38:53 -0300
commitbc96a14185a5d320582ad0b2c25222269d776fbf (patch)
treedc6bc3484a5a7f829a4c0224a1b8ccd50c41e7cd
parentfbcddbcf3e4971ec2a44f829a113a99e50579b78 (diff)
downloadmutter-bc96a14185a5d320582ad0b2c25222269d776fbf.tar.gz
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
-rw-r--r--src/compositor/meta-window-group.c5
1 files changed, 4 insertions, 1 deletions
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);
}