A problem with comctl32
DanteAliegri
dantealiegri at umbc.edu
Sat Nov 2 14:56:11 CST 2002
Hey, I've come across what appears to be a
simple problem in comctl32.
When running icq99b, wine was dying in imagelist.c while trying to
dereference a null pointer.
Upon looking at the file, there was code for returning FALSE if that
pointer was null,
thus I felt it being null may be a valid choice.
I made the attached change, and the problem was fixed.
Comments?
-------------- next part --------------
Index: imagelist.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/imagelist.c,v
retrieving revision 1.65
diff -u -r1.65 imagelist.c
--- imagelist.c 23 Oct 2002 22:19:11 -0000 1.65
+++ imagelist.c 2 Nov 2002 20:40:53 -0000
@@ -1082,11 +1082,14 @@
HBITMAP hImageBmp, hOldImageBmp, hOldImageListBmp, hOldMaskListBmp, hBlendMaskBmp;
BOOL bIsTransparent, bBlend, bResult = FALSE;
const HIMAGELIST himl = pimldp->himl;
- const INT lx = himl->cx * pimldp->i + pimldp->xBitmap;
- const INT ly = pimldp->yBitmap;
+ static INT lx;
+ static INT ly;
if (!pimldp || !himl) return FALSE;
if ((pimldp->i < 0) || (pimldp->i >= himl->cCurImage)) return FALSE;
+
+ lx = himl->cx * pimldp->i + pimldp->xBitmap;
+ ly = pimldp->yBitmap;
fState = pimldp->cbSize < sizeof(IMAGELISTDRAWPARAMS) ? ILS_NORMAL : pimldp->fState;
fStyle = pimldp->fStyle & ~ILD_OVERLAYMASK;
More information about the wine-devel
mailing list