drm/qxl: fix cursor position with non-zero hotspot
authorJohn Keeping <john@metanate.com>
Wed, 18 Nov 2015 11:17:25 +0000 (11:17 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 15 Jun 2016 20:29:21 +0000 (21:29 +0100)
commitf8d5d740ed82bf1aa98948ed3c9dd444519e187b
tree79d27bb56c10ad2e68f3b14d172075bd1a5ce2c4
parent18ac9c5e35117aaf515cc32a799ee97443b58a59
drm/qxl: fix cursor position with non-zero hotspot

commit d59a1f71ff1aeda4b4630df92d3ad4e3b1dfc885 upstream.

The SPICE protocol considers the position of a cursor to be the location
of its active pixel on the display, so the cursor is drawn with its
top-left corner at "(x - hot_spot_x, y - hot_spot_y)" but the DRM cursor
position gives the location where the top-left corner should be drawn,
with the hotspot being a hint for drivers that need it.

This fixes the location of the window resize cursors when using Fluxbox
with the QXL DRM driver and both the QXL and modesetting X drivers.

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1447845445-2116-1-git-send-email-john@metanate.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/gpu/drm/qxl/qxl_display.c
drivers/gpu/drm/qxl/qxl_drv.h