On Thu, May 01, 2014 at 06:00:41PM +0100, Neil Roberts wrote:
> If the scale for the cursor surface doesn't match that of the output
> then we shouldn't use the cursor overlay because otherwise it will be
> drawn at the wrong size. This problem is particularly noticable with
> multiple pointers because it randomly alternates between drawing one
> cursor or the other at a larger size depending on which one gets put
> in the cursor overlay.

Thanks, applied.

Kristian

> ---
>  src/compositor-drm.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/src/compositor-drm.c b/src/compositor-drm.c
> index 9d293bc..4441308 100644
> --- a/src/compositor-drm.c
> +++ b/src/compositor-drm.c
> @@ -953,12 +953,15 @@ drm_output_prepare_cursor_view(struct weston_output 
> *output_base,
>  {
>       struct drm_compositor *c =
>               (struct drm_compositor *) output_base->compositor;
> +     struct weston_buffer_viewport *viewport = &ev->surface->buffer_viewport;
>       struct drm_output *output = (struct drm_output *) output_base;
>  
>       if (c->gbm == NULL)
>               return NULL;
>       if (output->base.transform != WL_OUTPUT_TRANSFORM_NORMAL)
>               return NULL;
> +     if (viewport->buffer.scale != output_base->current_scale)
> +             return NULL;
>       if (output->cursor_view)
>               return NULL;
>       if (ev->output_mask != (1u << output_base->id))
> -- 
> 1.9.0
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to