Re: [spice-gtk] fix check for 16 bit cursor mask

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2017-06-06 at 05:50 -0400, Frediano Ziglio wrote:
> > 
> > On Tue, 2017-06-06 at 05:35 -0400, Frediano Ziglio wrote:
> > > ping
> > > 
> > > ----- Original Message -----
> > > > From: "Frediano Ziglio" <fziglio@xxxxxxxxxx>
> > > > To: spice-devel@xxxxxxxxxxxxxxxxxxxxx
> > > > Cc: "Frediano Ziglio" <fziglio@xxxxxxxxxx>
> > > > 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@xxxxxxxxxx>
> > > > ---
> > > >  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.
> > > > 
> > 
> > Ack - you can mention the symptoms in the commit messages.
> > 
> > Thanks,
> > Pavel
> > 
> 
> What about:
> 
> 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).
> This was clearly visible as the mouse cursor was usually mostly
> black with some apparently random transparent pixels.
> 
sounds good

Thanks,
Pavel

> Frediano
> 
> > 
> > > > 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);
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]