From 35c4e96ed1d372dd161480be8cddcd2d4549e449 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 12 Sep 2016 12:47:59 +0200 Subject: [PATCH] randr: Fix crtc_bounds when using rotation combined with reflection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit crtc_bounds() did not take reflection into account, when using reflection with 0 / 180 degree rotation this was not an issue because of the default in the switch-case doing the right thing. But when using 90 / 270 degree rotation we would also end up in the default which is wrong in this case. This would lead to the cursor being constrained to a height x height area of the monitor. This commit masks out the reflection bits for the switch-case, making crtc_bounds return the correct bounds and fixing the problematic cursor constraining. Signed-off-by: Hans de Goede Reviewed-by: Michel Dänzer --- randr/rrcrtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index 76365919a..5d404e84b 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -281,7 +281,7 @@ crtc_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom) *left = crtc->x; *top = crtc->y; - switch (crtc->rotation) { + switch (crtc->rotation & 0xf) { case RR_Rotate_0: case RR_Rotate_180: default: