[PATCH] drm/radeon/kms: fix cursor image off-by-one error
Michel Dänzer
michel at daenzer.net
Fri Sep 30 06:53:53 PDT 2011
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 at 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;
> + xorigin = -x;
> if (y < 0)
> - yorigin = -y + 1;
> + yorigin = -y;
> if (xorigin >= CURSOR_WIDTH)
> xorigin = CURSOR_WIDTH - 1;
> if (yorigin >= CURSOR_HEIGHT)
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 at daenzer.net>
.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Debian, X and DRI developer
More information about the dri-devel
mailing list