On Don, 2011-09-29 at 19:07 -0700, Nicholas Miell wrote:
The mouse cursor hotspot calculation when the cursor is partially off the top or left side of the screen was off by one.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41158
Signed-off-by: Nicholas Miell nmiell@gmail.com
drivers/gpu/drm/radeon/radeon_cursor.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c b/drivers/gpu/drm/radeon/radeon_cursor.c index 3189a7e..c495575 100644 --- a/drivers/gpu/drm/radeon/radeon_cursor.c +++ b/drivers/gpu/drm/radeon/radeon_cursor.c @@ -209,9 +209,9 @@ int radeon_crtc_cursor_move(struct drm_crtc *crtc, int w = radeon_crtc->cursor_width;
if (x < 0)
xorigin = -x + 1;
if (y < 0)xorigin = -x;
yorigin = -y + 1;
if (xorigin >= CURSOR_WIDTH) xorigin = CURSOR_WIDTH - 1; if (yorigin >= CURSOR_HEIGHT)yorigin = -y;
While you're at it, might be worth combining with the lines below to something like
if (x < 0) xorigin = min(-x, CURSOR_WIDTH - 1); if (y < 0) yorigin = min(-y, CURSOR_HEIGHT - 1);
Either way though,
Reviewed-by: Michel Dänzer michel@daenzer.net .