[PATCH weston 1/2] compositor-drm: update internal cursor plane location when disabling cursor

Derek Foreman derekf at osg.samsung.com
Thu Dec 3 12:07:11 PST 2015


When the cursor plane is disabled the kernel can lose its location.
If we don't update our internal idea of where the plane is at that time,
the next time we set a cursor it can show up at 0,0.

This can show up when an application is put in the cursor plane, removed
from the plane, then put back at the same location.  It will show up at
0,0 when it's reinstated.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
 src/compositor-drm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index ea6f3cd..a6db933 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -1174,6 +1174,8 @@ drm_output_set_cursor(struct drm_output *output)
 	output->cursor_view = NULL;
 	if (ev == NULL) {
 		drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0);
+		output->cursor_plane.x = 0;
+		output->cursor_plane.y = 0;
 		return;
 	}
 
-- 
2.6.2



More information about the wayland-devel mailing list