fix triggers crash

Michael Stefaniuc mstefani at
Mon Nov 26 18:46:29 CST 2001


I found a bug in ImageList_Merge (the count of the images in the
imagelist wasn't set) and the trivial fix
Index: imagelist.c
RCS file: /home/wine/wine/dlls/comctl32/imagelist.c,v
retrieving revision 1.43
diff -u -r1.43 imagelist.c
--- imagelist.c	2001/09/10 23:09:04	1.43
+++ imagelist.c	2001/11/26 22:37:31
@@ -1918,6 +1918,7 @@
         DeleteDC (hdcSrcImage);
         DeleteDC (hdcDstImage);
+	himlDst->cCurImage = 1;
     return himlDst;
triggers with FreeSolitaire (got it from following error
(with crash):
X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  53 (X_CreatePixmap)
  Serial number of failed request:  19761
  Current serial number in output stream:  19852

This happens with the cvs code from today and I'm pretty shure that it
worked perfectly with the cvs code from two days before. And without the
patch above the error dosn't get triggered. This seems strange because
the error seems to occur in x11drv.StretchBlt and ImageList_Merge dosn't
call StretchBlt.
To reproduce the crash start FreeSolitaire with the patch above applied,
select a solitaire game and start dragging a card around and wine will
crash. With --debugmsg +relay it takes sometimes longer to trigger the
bug, just release the card I try dragging an other card (i never needed
to release the second card yet, wine crashed before).
I've attached the last 1000 lines of relay output, hope that helps.

Michael Stefaniuc               Tel.: +49-711-96437-199
System Administration           Fax.: +49-711-96437-111
Red Hat GmbH                    Email: mstefani at
Hauptstaetterstr. 58  
D-70178 Stuttgart
-------------- next part --------------
A non-text attachment was scrubbed...
Name: relay.output.gz
Type: application/x-gzip
Size: 3612 bytes
Desc: not available
Url :

More information about the wine-devel mailing list