MetaWindowGroup: Only compensate for transforms when in clone paint

We were compensating for a clone paint viewport offset even when we
were not in clone paniting mode. This would break painting if we offset
the viewport for some other reason for example as in the future stage
view painting.

https://bugzilla.gnome.org/show_bug.cgi?id=768976
This commit is contained in:
Jonas Ådahl 2016-07-15 16:09:41 +08:00
parent c498bce9e4
commit 749237a28e

View File

@ -79,12 +79,23 @@ meta_window_group_paint (ClutterActor *actor)
* painting currently, and never worry about how actors are positioned
* on the stage.
*/
if (!meta_actor_painting_untransformed (screen_width, screen_height, &paint_x_origin, &paint_y_origin) ||
if (clutter_actor_is_in_clone_paint (actor))
{
if (!meta_actor_painting_untransformed (screen_width,
screen_height,
&paint_x_origin,
&paint_y_origin) ||
!meta_actor_is_untransformed (actor, NULL, NULL))
{
CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor);
return;
}
}
else
{
paint_x_origin = 0;
paint_y_origin = 0;
}
visible_rect.x = visible_rect.y = 0;
visible_rect.width = clutter_actor_get_width (CLUTTER_ACTOR (stage));