randr: Fix crtc_bounds when using rotation combined with reflection

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 <hdegoede@redhat.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
Hans de Goede 2016-09-12 12:47:59 +02:00
parent 7b634067c1
commit 35c4e96ed1
1 changed files with 1 additions and 1 deletions

View File

@ -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: