bitblt.c - GdiAlphaBlend : Check for NULL Pointer

Markus Stockhausen markus.stockhausen at collogia.de
Thu Sep 10 16:39:12 CDT 2009


Am Freitag, den 11.09.2009, 01:17 +0400 schrieb Nikolay Sivov:
> Roderick Colenbrander wrote:
> > Recently Nikolay Sivov wrote some tests for this call. His tests
> > didn't make it in yet but I think those should enter and then based on
> > those results changes should be made.
> >
> > Roderick
> >
> > On Thu, Sep 10, 2009 at 10:56 PM, Markus Stockhausen
> > <markus.stockhausen at collogia.de> wrote:
> >   
> >> Hi,
> >>
> >> http://bugs.winehq.org/show_bug.cgi?id=18041 reveals a bug where
> >> GdiAlphaBlend will crash in Teamviewer application when a NULL pointer
> >> is handed over. The attached check fixes that behaviour.
> >>
> >> Tanks in advance.
> >>
> >> Markus
> >>     
> This is what Roderick is talking about:
> 
> http://www.winehq.org/pipermail/wine-patches/2009-September/078293.html
> 
> I don't think it will be committed, it should be included with a fix.
> 
> You may take this part and resubmit:
> ---
> + SetLastError(0xdeadbeef);
> + expect_eq(pGdiAlphaBlend(hdcDst, 0, 0, 20, 20, NULL, 0, 0, 20, 20, 
> blend), FALSE, BOOL, "%d");
> + expect_eq(GetLastError(), 0xdeadbeef, int, "%d");
> ---
> 
> 

Phew, in 3 days from 0 to 100. Too much for me. If I get it right, there
are two things to do.

1. I should optimize my patch and remove unnecessary dcSrc checks.
2. A testcase is needed to prove the correct function behaviour in
Windows and Wine. The tastcase is already available but not commited
yet.

For me this means:

1. Wait for testcase implementation.
2. Create new patch and test under Wine
3. Ask someone to do test under Windows
2. Resent patch to mailing list.

Thanks for your patience.

Markus





More information about the wine-devel mailing list