[Spice-devel] [spice-gtk] fix check for 16 bit cursor mask

Frediano Ziglio fziglio at redhat.com
Tue Jun 6 09:35:14 UTC 2017


ping

----- Original Message -----
> From: "Frediano Ziglio" <fziglio at redhat.com>
> To: spice-devel at lists.freedesktop.org
> Cc: "Frediano Ziglio" <fziglio at redhat.com>
> Sent: Wednesday, May 31, 2017 2:59:02 PM
> Subject: [spice-gtk] fix check for 16 bit cursor mask
> 
> The size was computed using a 32 bit image while the cursor was
> just 16 bit. This caused the usage of some invalid bit mask (the
> bit mask is used to understand where the cursor is transparent).
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  src/channel-cursor.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> This was tested with a Windows XP machine with a working
> QXL driver and some color pointers without shadow.
> Before the patch the trasparency of the cursor were
> wrong.
> 
> diff --git a/src/channel-cursor.c b/src/channel-cursor.c
> index 2610660..558c920 100644
> --- a/src/channel-cursor.c
> +++ b/src/channel-cursor.c
> @@ -430,6 +430,7 @@ static display_cursor *set_cursor(SpiceChannel *channel,
> SpiceCursor *scursor)
>          }
>          break;
>      case SPICE_CURSOR_TYPE_COLOR16:
> +        size /= 2u;
>          for (i = 0; i < hdr->width * hdr->height; i++) {
>              pix_mask = get_pix_mask(data, size, i);
>              pix = *((guint16*)data + i);


More information about the Spice-devel mailing list