diff --git a/libweston/compositor.c b/libweston/compositor.c index 0e0d9b24..dafd5642 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -1522,9 +1522,10 @@ weston_view_update_transform_disable(struct weston_view *view) if (view->alpha == 1.0) { pixman_region32_copy(&view->transform.opaque, &view->surface->opaque); - pixman_region32_intersect(&view->transform.opaque, - &view->transform.opaque, - &view->geometry.scissor); + if (view->geometry.scissor_enabled) + pixman_region32_intersect(&view->transform.opaque, + &view->transform.opaque, + &view->geometry.scissor); pixman_region32_translate(&view->transform.opaque, view->geometry.x, view->geometry.y); @@ -1576,9 +1577,10 @@ weston_view_update_transform_enable(struct weston_view *view) matrix->type == WESTON_MATRIX_TRANSFORM_TRANSLATE) { pixman_region32_copy(&view->transform.opaque, &view->surface->opaque); - pixman_region32_intersect(&view->transform.opaque, - &view->transform.opaque, - &view->geometry.scissor); + if (view->geometry.scissor_enabled) + pixman_region32_intersect(&view->transform.opaque, + &view->transform.opaque, + &view->geometry.scissor); pixman_region32_translate(&view->transform.opaque, matrix->d[12], matrix->d[13]);