[PATCH xserver 3/3] xfree86/modes: Simplify in_range logic in xf86_crtc_set_cursor_position
Michel Dänzer
michel at daenzer.net
Fri Mar 25 10:12:36 UTC 2016
From: Michel Dänzer <michel.daenzer at amd.com>
Consolidate to a single if/else statement and eliminate the redundant
local variable in_range and assignments to x/y.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
hw/xfree86/modes/xf86Cursors.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
index 729f927..14ae89f 100644
--- a/hw/xfree86/modes/xf86Cursors.c
+++ b/hw/xfree86/modes/xf86Cursors.c
@@ -395,7 +395,6 @@ xf86_crtc_set_cursor_position(xf86CrtcPtr crtc, int x, int y)
xf86CursorInfoPtr cursor_info = xf86_config->cursor_info;
DisplayModePtr mode = &crtc->mode;
int crtc_x = x, crtc_y = y;
- Bool in_range;
/*
* Transform position of cursor on screen
@@ -410,25 +409,18 @@ xf86_crtc_set_cursor_position(xf86CrtcPtr crtc, int x, int y)
/*
* Disable the cursor when it is outside the viewport
*/
- in_range = TRUE;
if (crtc_x >= mode->HDisplay || crtc_y >= mode->VDisplay ||
crtc_x <= -cursor_info->MaxWidth || crtc_y <= -cursor_info->MaxHeight) {
- in_range = FALSE;
- x = 0;
- y = 0;
- }
-
- crtc->cursor_in_range = in_range;
-
- if (in_range) {
+ crtc->cursor_in_range = FALSE;
+ xf86_crtc_hide_cursor(crtc);
+ } else {
+ crtc->cursor_in_range = TRUE;
if (crtc->driverIsPerformingTransform & XF86DriverTransformCursorPosition)
crtc->funcs->set_cursor_position(crtc, x, y);
else
crtc->funcs->set_cursor_position(crtc, crtc_x, crtc_y);
xf86_crtc_show_cursor(crtc);
}
- else
- xf86_crtc_hide_cursor(crtc);
}
static void
--
2.8.0.rc3
More information about the xorg-devel
mailing list