Small DDraw problem

Gavriel State gav at transgaming.com
Sun Feb 11 18:39:35 CST 2001


Lionel Ulmer wrote:
> It stopped just after doing a SetCooperativeLevel. After some checkings, the
> error came from there (file dlls/ddraw/ddraw/main.c) :
> 
> HRESULT WINAPI
> Main_DirectDraw_SetCooperativeLevel(LPDIRECTDRAW7 iface, HWND hwnd, DWORD cooplevel)
> {
> (....)
>     if ((This->cooperative_level & DDSCL_EXCLUSIVE) &&
>             (cooplevel & DDSCL_EXCLUSIVE))
>             return DDERR_EXCLUSIVEMODEALREADYSET;
> (....)
> }

> I wonder if this test is really needed ? My interpretation of the
> 'DDERR_EXCLUSIVEMODEALREADYSET' error was that ANOTHER application already
> used this flag, not that it was already set for the current application.
> 
> Anyway, removing this test fixed Grim Fandango. It now starts fine, except
> for some palette problems.
> 
> If you agree, I will submit a patch that removes this test :-)

I think you're right - I have a recollection of having removed this myself in a 
local tree that I accidently deleted at some point.  I'd say it's good for a 
check-in.

> PS: I found out that Grim Fandango eats up my X auto repeat (I need to do a
>     'xset r on' after)... I thought that this was removed in recent Wine
>     versions ?

No idea on this - Ove?

-Gav

-- 
Gavriel State, CEO
TransGaming Technologies Inc.
http://www.transgaming.com
gav at transgaming.com



More information about the wine-devel mailing list