From 263c5333a54107efac702a54d7e6329ae25ff4e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Fri, 25 Dec 2015 18:32:46 +0900 Subject: [PATCH] xfree86/modes: Simplify in_range logic in xf86_crtc_set_cursor_position Consolidate to a single if/else statement and eliminate the redundant local variable in_range and assignments to x/y. Reviewed-by: Adam Jackson --- 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 c71ac97a8..d1e3302b0 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