diff options
author | Owen W. Taylor <otaylor@fishsoup.net> | 2012-08-15 13:28:34 -0400 |
---|---|---|
committer | Owen W. Taylor <otaylor@fishsoup.net> | 2012-08-15 20:43:07 -0400 |
commit | 0ab572d511b3c366ef7d8e33277befe1a44d1024 (patch) | |
tree | 8219df74c8294417f878b7ba619841fd07d7be14 | |
parent | 1c8d45e89c06140dacba1f112f2f37d10455e122 (diff) | |
download | mutter-0ab572d511b3c366ef7d8e33277befe1a44d1024.tar.gz |
MetaWindowGroup: fix logic for handling translations
Instead of getting the x/y of the MetaBackgroundActor with respect to the
parent, use the same logic that we do for windows, fixing the case
where there is a more complex transformation involved.
https://bugzilla.gnome.org/show_bug.cgi?id=681221
-rw-r--r-- | src/compositor/meta-window-group.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c index fd7e0a7a5..4ba211826 100644 --- a/src/compositor/meta-window-group.c +++ b/src/compositor/meta-window-group.c @@ -193,9 +193,14 @@ meta_window_group_paint (ClutterActor *actor) else if (META_IS_BACKGROUND_ACTOR (l->data)) { MetaBackgroundActor *background_actor = l->data; + int x, y; + + if (!actor_is_untransformed (CLUTTER_ACTOR (background_actor), &x, &y)) + continue; - cairo_region_translate (visible_region, - group_x, - group_y); + cairo_region_translate (visible_region, - x, - y); meta_background_actor_set_visible_region (background_actor, visible_region); + cairo_region_translate (visible_region, x, y); } } |