Hi,
I feel rather stupid, but need help understanding this. I
managed to screw up winetest so that it runs into trouble.
The relay trace goes like (indented by examine-relay)
--------------------------------------------------------------------
000a:Call comctl32.InitCommonControls() ret=40593c29
000a:Ret comctl32.InitCommonControls() retval=40def6d4 ret=40593c29
000a:Call kernel32.GetModuleHandleA(00000000) ret=40593c3c
000a:Ret kernel32.GetModuleHandleA() retval=40540000 ret=40593c3c
000a:Call user32.CreateDialogParamA(40540000,00000064,00000000,40593b4c,00000000) ret=40593c42
000a:Call kernel32.FindResourceA(40540000,00000064,00000005) ret=407aa47f
000a:Ret kernel32.FindResourceA() retval=405954f8 ret=407aa47f
000a:Call kernel32.LoadResource(40540000,405954f8) ret=407aa48a
000a:Ret kernel32.LoadResource() retval=40590d20 ret=407aa48a
000a:Call kernel32._EnterSysLevel(40810b00) ret=407c21b8
000a:Ret kernel32._EnterSysLevel() retval=00000008 ret=407c21b8
000a:Call kernel32._LeaveSysLevel(40810b00) ret=407c21dc
000a:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407c21dc
000a:Call kernel32._EnterSysLevel(40810b00) ret=407c21b8
000a:Ret kernel32._EnterSysLevel() retval=00000008 ret=407c21b8
000a:Call kernel32._EnterSysLevel(40810b00) ret=407c21b8
000a:Ret kernel32._EnterSysLevel() retval=00000008 ret=407c21b8
000a:Call kernel32._LeaveSysLevel(40810b00) ret=407c21dc
000a:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407c21dc
000a:Call ntdll.RtlAllocateHeap(40300000,00000000,0000001c) ret=407a6047
000a:Ret ntdll.RtlAllocateHeap() retval=40347998 ret=407a6047
000a:Call gdi32.CreateDCA(407f0e04 "DISPLAY",00000000,00000000,00000000) ret=407a6066
000a:Call ntdll.RtlCreateUnicodeStringFromAsciiz(40def3e8,407f0e04 "DISPLAY") ret=408994dd
000a:Ret ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 ret=408994dd
000a:Call kernel32._CheckNotSysLevel(408cf320) ret=408a56e8
000a:Ret kernel32._CheckNotSysLevel() retval=0000000a ret=408a56e8
000a:Call ntdll.RtlEnterCriticalSection(408cf400) ret=408ae109
000a:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=408ae109
000a:Call ntdll.RtlLeaveCriticalSection(408cf400) ret=408ae1d9
000a:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=408ae1d9
000a:Call kernel32._EnterSysLevel(408cf320) ret=408a50cf
000a:Ret kernel32._EnterSysLevel() retval=0000000c ret=408a50cf
000a:Call ntdll.RtlAllocateHeap(40300000,00000000,00000138) ret=408a5215
000a:Ret ntdll.RtlAllocateHeap() retval=403479c0 ret=408a5215
000a:Call x11drv.CreateDC(403479c0,403479d8,40def15c L"DISPLAY",00000000,00000000,00000000) ret=40899405
000a:Call ntdll.RtlAllocateHeap(40300000,00000008,0000008c) ret=409ee0de
000a:Ret ntdll.RtlAllocateHeap() retval=40347b00 ret=409ee0de
000a:Call gdi32.GetObjectType(0000007c) ret=409ee125
000a:Call kernel32._EnterSysLevel(408cf320) ret=408a5527
000a:Ret kernel32._EnterSysLevel() retval=0000000c ret=408a5527
000a:Call kernel32._LeaveSysLevel(408cf320) ret=408a56c3
000a:Ret kernel32._LeaveSysLevel() retval=00000000 ret=408a56c3
000a:Ret gdi32.GetObjectType() retval=00000003 ret=409ee125
000a:Call ntdll.RtlEnterCriticalSection(40a20700) ret=409fe8b0
000a:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=409fe8b0
err:ntdll:RtlpWaitForCriticalSection section 0x40334040 "?" wait timed out in thread 000a, blocked by 0009, retrying (60 sec)
--------------------------------------------------------------------
which I don't understand given the definition
--------------------------------------------------------------------
HWND WINAPI CreateDialogParamA( HINSTANCE hInst, LPCSTR name, HWND owner,
DLGPROC dlgProc, LPARAM param )
{
HRSRC hrsrc;
LPCDLGTEMPLATEA ptr;
if (!(hrsrc = FindResourceA( hInst, name, (LPSTR)RT_DIALOG ))) return 0;
if (!(ptr = (LPCDLGTEMPLATEA)LoadResource(hInst, hrsrc))) return 0;
return CreateDialogIndirectParamA( hInst, ptr, owner, dlgProc, param );
}
--------------------------------------------------------------------
After LoadResource returns, I would expect a call to
CreateDialogIndirectParamA instead of the SysLevels etc.
Could somebody explain this, please?
Thanks a lot,
Feri.