diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-08-29 14:50:31 -0300 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-08-29 15:38:53 -0300 |
commit | bc96a14185a5d320582ad0b2c25222269d776fbf (patch) | |
tree | dc6bc3484a5a7f829a4c0224a1b8ccd50c41e7cd | |
parent | fbcddbcf3e4971ec2a44f829a113a99e50579b78 (diff) | |
download | mutter-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.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 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); } |