[Bug 14868] Initial crash when running GSpot

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Aug 15 22:26:25 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=14868





--- Comment #9 from David Hall (gringer) <winehq at gringer.dis.org.nz>  2008-08-15 22:26:25 ---
sorry, didn't notice your comment #5, but it's nice to know that we ended up
with the same patch.

I did a quick trace to work out why it was crashing, by adding a FIXME to show
the number of bytes per pixel:

diff --git a/dlls/gdi32/dib.c b/dlls/gdi32/dib.c
index 440857d..31e003a 100644
--- a/dlls/gdi32/dib.c
+++ b/dlls/gdi32/dib.c
@@ -641,6 +641,7 @@ INT WINAPI GetDIBits(
                 DIB_GetDIBImageBytes( bmp->bitmap.bmWidth,
                                       bmp->bitmap.bmHeight,
                                       bmp->bitmap.bmBitsPixel );
+            FIXME("Bits per pixel: %d\n", bmp->bitmap.bmBitsPixel);
             info->bmiHeader.biCompression = (bmp->bitmap.bmBitsPixel > 8) ?
BI_BITFIELDS : BI_RGB;
             switch(bmp->bitmap.bmBitsPixel)
             {

Running the program demonstrates that the bitmap is encoded as 32 bits per
pixel:

$ ~/install/git/wine-git/wine GSpot.exe
ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such file
or directory
fixme:bitmap:GetDIBits Bits per pixel: 32
wine: Unhandled page fault on read access to 0x0000ff00 at address 0xff00
(thread 0009), starting debugger...

Taking into account that your patch fixes this (I have confirmed this) means
that the compression expected is BI_BITFIELDS, while the actual compression is
BI_RGB (i.e. none / uncompressed).


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list