From d450b1901fcec3bb38b11800c2d435f38354344b Mon Sep 17 00:00:00 2001 From: Ander Conselvan de Oliveira Date: Tue, 26 Jun 2012 17:09:12 +0300 Subject: [PATCH] compositor-drm: Check surface's outputs when assigning overlays Check if the output passed to drm_output_prepare_overlay_surface() does actually contain the surface and fail if it doesn't. Also fail if a surface spans multiple outputs since clearing the damage will cause the portion that is not in an overlay to not be updated at all. --- src/compositor-drm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 42d971f..5543462 100644 --- a/src/compositor-drm.c +++ b/src/compositor-drm.c @@ -530,6 +530,9 @@ drm_output_prepare_overlay_surface(struct weston_output *output_base, if (c->sprites_are_broken) return -1; + if (es->output_mask != (1u << output_base->id)) + return -1; + if (surface_is_primary(ec, es)) return -1; -- 2.7.4