[PATCH] Handle animated cursor on shared sprite

Emil Velikov emil.l.velikov at gmail.com
Wed Oct 12 16:05:27 UTC 2016


Hi Pierre,

On 12 October 2016 at 10:05, Pierre Ossman <ossman at cendio.se> wrote:
> Sprites (and hence cursors) can be shared between multiple devices.
> However the animation code was not prepared for this and could wind
> up in a case where it would continue to animate a free:d cursor.
> ---
>  include/inputstr.h | 14 ++++-----
>  render/animcur.c   | 85 +++++++++++++++++++++++++++++-------------------------
>  2 files changed, 51 insertions(+), 48 deletions(-)
>
> diff --git a/include/inputstr.h b/include/inputstr.h
> index 568f5f9..a485f5e 100644
> --- a/include/inputstr.h
> +++ b/include/inputstr.h
> @@ -246,6 +246,12 @@ typedef struct _SpriteRec {
>      ScreenPtr pEnqueueScreen;
>      ScreenPtr pDequeueScreen;
>  +    /* keep states for animated cursor */
> +    struct {
> +        ScreenPtr pScreen;
> +        int elt;
> +        CARD32 time;
> +    } anim;
>  } SpriteRec;
Note that this changes the ABI so it might not be good for the point
releases. Unless one wants to make things extra 'fun' for binary only
drivers ;-)

Haven't looked at the patch in detail, so I cannot comment the issue
can be fixed without breaking the ABI.

-Emil


More information about the xorg-devel mailing list