DDraw: Better flag handling in SetCooperativeLevel

Alexandre Julliard julliard at winehq.org
Tue Sep 27 06:46:49 CDT 2005


Lionel Ulmer <lionel.ulmer at free.fr> writes:

> On Thu, Sep 08, 2005 at 12:03:52PM +0200, Stefan Dösinger wrote:
>> Changelog:
>> *Add handling for DDSCL_SETFOCUSWINDOW in SetCooperativeLevel
>> *Print a fixme for DDSCL_CREATEDEVICEWINDOW  and DDSCL_SETDEVICEWINDOW.
>
> Alexandre, any reason why this patch (plus the other about the reference
> counting) were not applied ? If you were waiting for some DDraw 'guru' to
> give his blessing, they both look OK to me :-)

I think the reference counting one is suspect, there should be some
object that holds the reference, we shouldn't just increment it for no
reason.

For the other one, the tests fail here:

fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000008)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000080)
cooplevels.c:88: Test failed: SetCooperativeLevel(DDSCL_SETFOCUSWINDOW) returned: 80070057
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000080)
cooplevels.c:93: Test failed: SetCooperativeLevel(DDSCL_SETFOCUSWINDOW) the secound time returned: 80070057
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000088)
cooplevels.c:98: Test failed: SetCooperativeLevel(DDSCL_NORMAL | DDSCL_SETFOCUSWINDOW) returned: 0
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000091)
cooplevels.c:102: Test failed: SetCooperativeLevel(DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_SETFOCUSWINDOW) returned: 0
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000084)
cooplevels.c:107: Test failed: SetCooperativeLevel(DDSCL_NOWINDOWCHANGES | DDSCL_SETFOCUSWINDOW) returned: 80070057
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000480)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000880)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00001080)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000082)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,000000c0)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000100)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000108)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,000001d1)
cooplevels.c:142: Test failed: SetCooperativeLevel(DDSCL_NORMAL | DDSCL_SETDEVICEWINDOW | DDSCL_SETFOCUSWINDOW) returned: 0
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000010)
cooplevels.c:156: Test failed: SetCooperativeLevel(DDSCL_EXCLUSIVE) returned: 0
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000001)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000011)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fdc90d0)->(0x10022,00000080)
cooplevels.c:171: Test failed: SetCooperativeLevel(DDSCL_SETFOCUSWINDOW) returned: 80070057
make: *** [cooplevels.ok] Error 8

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list