[PATCH v3 weston] compositor-drm: update internal cursor plane location when disabling cursor
Pekka Paalanen
ppaalanen at gmail.com
Sat Feb 6 09:24:34 UTC 2016
On Fri, 5 Feb 2016 15:55:20 -0600
Derek Foreman <derekf at osg.samsung.com> wrote:
> 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 might show up at
> 0,0 when it's reinstated.
>
> We now use INT32_MIN as a location for disabled cursors so enabling the
> plane will always cause an update.
>
> Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
> ---
> Changes from v1:
> use INT32_MIN instead of 0
>
> Changes from v2:
> actually init the cursor plane to INT32_MIN, INT32_MIN
>
> src/compositor-drm.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/compositor-drm.c b/src/compositor-drm.c
> index 8b9882e..7666862 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 = INT32_MIN;
> + output->cursor_plane.y = INT32_MIN;
> return;
> }
>
> @@ -2430,7 +2432,8 @@ create_output_for_connector(struct drm_backend *b,
> output->base.gamma_size = output->original_crtc->gamma_size;
> output->base.set_gamma = drm_output_set_gamma;
>
> - weston_plane_init(&output->cursor_plane, b->compositor, 0, 0);
> + weston_plane_init(&output->cursor_plane, b->compositor,
> + INT32_MIN, INT32_MIN);
> weston_plane_init(&output->fb_plane, b->compositor, 0, 0);
>
> weston_compositor_stack_plane(b->compositor, &output->cursor_plane, NULL);
> --
> 2.7.0
>
Hi,
yup, this is what I meant. I'd be happy to see this and the other
compositor-drm cursor plane patch to be in 1.10. Bryce?
Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20160206/89f68c6c/attachment.sig>
More information about the wayland-devel
mailing list