[Wine] Re: Saab Electronic Parts Catalogue (EPC) hangs upon startup

jorl17 wineforum-user at winehq.org
Sat Sep 6 08:57:53 CDT 2008


qwertymn wrote:
> hi, i get different console output then you, so for now i'll just share my experiences here. I installed on a complete fresh ~/.wine (you can do something like WINEPREFIX=~/garbage wine SETUP.EXE, after installation WINEPREFIX=~/garbage wine EPC.EXE)
> The installation went smoothly, after starting i get the splash screen, then the main gui, but then an error messagebox pops up about a DIB error, and then the app freezes. I guess that 's a bug in wine somewhere. I did not install any additional winetricks packages. With the stupid hack below i was able to start the app, but i'm not sure if it's functional, as many menu items are greyed out, and i dunno really how to use the app. Maybe you could try the above recipe , and see  how far you can get. The DIB-bug needs more investigation, but i lack time atm to do so
> 
> 
> 
> diff --git a/dlls/gdi32/dib.c b/dlls/gdi32/dib.c
> index 440857d..2d7b0ac 100644
> --- a/dlls/gdi32/dib.c
> +++ b/dlls/gdi32/dib.c
> @@ -1076,6 +1076,7 @@ INT WINAPI GetDIBits(
>  done:
>      release_dc_ptr( dc );
>      GDI_ReleaseObj( hbitmap );
> +    if(!lines) return 1;
>      return lines;
>  }


MSDN:

> GetDIBits
> The GetDIBits function retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format.




> Return Values
> 
> If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap.


I don't exactly agree with patches that only try to work around past some point. Because what we are doing here is bad (I believe, but correct me if wrong), because we are saying that it all went well and that we copied one scanline from the bitmap, when, in fact, that wasn't the case. So this means we are 'lying' to get one app to get past one point, which may make a bunch of other games not work or even make this game fail later on (which could be the case).

But, oh well, you know that:

> stupid hack


I think that a bug should be submitted with all the necessary information and this could be later fixed. If you can live with that fix I suggest you make a specific wine-patched-version that only runs that application, so that you know that won't affect other games.

But, oh well, I'm glad you got it to work to the degree you needed :)







More information about the wine-users mailing list