From: Pekka Paalanen <[email protected]>

Fix a regression introduced by be428b3825043cbcc676d2526fe6213bea7f676a
which accidentally removed the global-to-output space conversion.

Signed-off-by: Pekka Paalanen <[email protected]>
Cc: Derek Foreman <[email protected]>
Cc: Daniel Stone <[email protected]>
---
 src/compositor-drm.c | 7 +++++++
 1 file changed, 7 insertions(+)

Hi Derek,

if you want to fix this with some matrix stuff instead, that would be
cool. This fixes my use case at least.

diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 6575847..4f9bbaf 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -1196,6 +1196,13 @@ drm_output_set_cursor(struct drm_output *output)
        }
 
        weston_view_to_global_float(ev, 0, 0, &x, &y);
+
+       /* From global to output space, output transform is guaranteed to be
+        * NORMAL by drm_output_prepare_cursor_view().
+        */
+       x = (x - output->base.x) * output->base.current_scale;
+       y = (y - output->base.y) * output->base.current_scale;
+
        if (output->cursor_plane.x != x || output->cursor_plane.y != y) {
                if (drmModeMoveCursor(b->drm.fd, output->crtc_id, x, y)) {
                        weston_log("failed to move cursor: %m\n");
-- 
2.4.10

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to