Use a more portable scheme for storing the name of a critical section.
diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 1cb4937..bcd3e78 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c
@@ -75,7 +75,7 @@ 0, 0, &service_cs, { &service_cs_debug.ProcessLocksList, &service_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": service_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": service_cs") } }; static CRITICAL_SECTION service_cs = { &service_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c index 4f5e6a6..7fea658 100644 --- a/dlls/dinput/joystick_linux.c +++ b/dlls/dinput/joystick_linux.c
@@ -552,7 +552,7 @@ IDirectInputDevice_AddRef((LPDIRECTINPUTDEVICE8A)newDevice->dinput); InitializeCriticalSection(&(newDevice->crit)); - newDevice->crit.DebugInfo->Spare[1] = (DWORD)"DINPUT_Mouse"; + newDevice->crit.DebugInfo->Spare[0] = (DWORD_PTR)"DINPUT_Mouse"; newDevice->devcaps.dwSize = sizeof(newDevice->devcaps); newDevice->devcaps.dwFlags = DIDC_ATTACHED; @@ -688,7 +688,7 @@ /* release the data transform filter */ release_DataFormat(This->transform); - This->crit.DebugInfo->Spare[1] = 0; + This->crit.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&(This->crit)); IDirectInputDevice_Release((LPDIRECTINPUTDEVICE8A)This->dinput);
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c index 52d5b08..98bc315 100644 --- a/dlls/dinput/keyboard.c +++ b/dlls/dinput/keyboard.c
@@ -83,7 +83,7 @@ { 0, 0, &keyboard_crit, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": keyboard_crit") } + 0, 0, { (DWORD_PTR)(__FILE__ ": keyboard_crit") } }; static CRITICAL_SECTION keyboard_crit = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index 62c719c..bb1fca3 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c
@@ -365,7 +365,7 @@ if (!ref) { DSOUND_RemoveBuffer(This->dsound, This); - This->lock.DebugInfo->Spare[1] = 0; + This->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&(This->lock)); if (This->hwbuf) { @@ -1152,7 +1152,7 @@ DSOUND_RecalcVolPan(&(dsb->volpan)); InitializeCriticalSection(&(dsb->lock)); - dsb->lock.DebugInfo->Spare[1] = (DWORD)"DSOUNDBUFFER_lock"; + dsb->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSOUNDBUFFER_lock"; /* register buffer if not primary */ if (!(dsbd->dwFlags & DSBCAPS_PRIMARYBUFFER)) { @@ -1160,7 +1160,7 @@ if (err != DS_OK) { HeapFree(GetProcessHeap(),0,dsb->buffer->memory); HeapFree(GetProcessHeap(),0,dsb->buffer); - dsb->lock.DebugInfo->Spare[1] = 0; + dsb->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&(dsb->lock)); HeapFree(GetProcessHeap(),0,dsb->pwfx); HeapFree(GetProcessHeap(),0,dsb);
diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c index 5371c63..cadb107 100644 --- a/dlls/dsound/capture.c +++ b/dlls/dsound/capture.c
@@ -266,7 +266,7 @@ device->state = STATE_STOPPED; InitializeCriticalSection( &(device->lock) ); - device->lock.DebugInfo->Spare[1] = (DWORD)"DSCAPTURE_lock"; + device->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSCAPTURE_lock"; *ppDevice = device; @@ -509,7 +509,7 @@ } HeapFree(GetProcessHeap(), 0, device->pwfx); - device->lock.DebugInfo->Spare[1] = 0; + device->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection( &(device->lock) ); DSOUND_capture[device->drvdesc.dnDevNode] = NULL; HeapFree(GetProcessHeap(), 0, device);
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index 6f67fc5..67fd6ce 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c
@@ -545,13 +545,13 @@ CopyMemory(dsb->pwfx, pdsb->pwfx, size); InitializeCriticalSection(&(dsb->lock)); - dsb->lock.DebugInfo->Spare[1] = (DWORD)"DSOUNDBUFFER_lock"; + dsb->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSOUNDBUFFER_lock"; /* register buffer */ hres = DSOUND_AddBuffer(This, dsb); if (hres != DS_OK) { IDirectSoundBuffer8_Release(psb); - dsb->lock.DebugInfo->Spare[1] = 0; + dsb->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&(dsb->lock)); HeapFree(GetProcessHeap(),0,dsb->buffer); HeapFree(GetProcessHeap(),0,dsb->pwfx); @@ -931,7 +931,7 @@ device->pwfx->cbSize = 0; InitializeCriticalSection(&(device->mixlock)); - device->mixlock.DebugInfo->Spare[1] = (DWORD)"DSOUND_mixlock"; + device->mixlock.DebugInfo->Spare[0] = (DWORD_PTR)"DSOUND_mixlock"; RtlInitializeResource(&(device->buffer_list_lock)); @@ -989,7 +989,7 @@ HeapFree(GetProcessHeap(),0,device->tmp_buffer); HeapFree(GetProcessHeap(),0,device->buffer); RtlDeleteResource(&device->buffer_list_lock); - device->mixlock.DebugInfo->Spare[1] = 0; + device->mixlock.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&device->mixlock); HeapFree(GetProcessHeap(),0,device); TRACE("(%p) released\n", device);
diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c index 1fa585a..c0a97db 100644 --- a/dlls/dsound/duplex.c +++ b/dlls/dsound/duplex.c
@@ -114,7 +114,7 @@ This->lpVtbl = &dsfdvt; InitializeCriticalSection( &(This->lock) ); - This->lock.DebugInfo->Spare[1] = (DWORD)"DSDUPLEX_lock"; + This->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSDUPLEX_lock"; hres = IDirectSoundFullDuplexImpl_Initialize( (LPDIRECTSOUNDFULLDUPLEX)This, pcGuidCaptureDevice, pcGuidRenderDevice, @@ -161,7 +161,7 @@ TRACE("(%p) ref was %ld\n", This, ref - 1); if (!ref) { - This->lock.DebugInfo->Spare[1] = 0; + This->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection( &(This->lock) ); HeapFree( GetProcessHeap(), 0, This ); TRACE("(%p) released\n", This);
diff --git a/dlls/gdi/driver.c b/dlls/gdi/driver.c index 7d4ad44..84664ec 100644 --- a/dlls/gdi/driver.c +++ b/dlls/gdi/driver.c
@@ -53,7 +53,7 @@ { 0, 0, &driver_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": driver_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": driver_section") } }; static CRITICAL_SECTION driver_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/gdi/gdiobj.c b/dlls/gdi/gdiobj.c index cc9a601..57ac138 100644 --- a/dlls/gdi/gdiobj.c +++ b/dlls/gdi/gdiobj.c
@@ -72,7 +72,7 @@ { 0, 0, &GDI_level.crst, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": GDI_level") } + 0, 0, { (DWORD_PTR)(__FILE__ ": GDI_level") } }; static SYSLEVEL GDI_level = { { &critsect_debug, -1, 0, 0, 0, 0 }, 3 };
diff --git a/dlls/kernel/console.c b/dlls/kernel/console.c index b6b7ce8..2234c0b 100644 --- a/dlls/kernel/console.c +++ b/dlls/kernel/console.c
@@ -1460,7 +1460,7 @@ { 0, 0, &CONSOLE_CritSect, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": CONSOLE_CritSect") } + 0, 0, { (DWORD_PTR)(__FILE__ ": CONSOLE_CritSect") } }; static CRITICAL_SECTION CONSOLE_CritSect = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/kernel/kernel_main.c b/dlls/kernel/kernel_main.c index 79bb9d8..a9b76f1 100644 --- a/dlls/kernel/kernel_main.c +++ b/dlls/kernel/kernel_main.c
@@ -57,7 +57,7 @@ { 0, 0, &ldt_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": ldt_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": ldt_section") } }; static CRITICAL_SECTION ldt_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/kernel/lcformat.c b/dlls/kernel/lcformat.c index d3d0c04..0f6e1e8 100644 --- a/dlls/kernel/lcformat.c +++ b/dlls/kernel/lcformat.c
@@ -88,7 +88,7 @@ 0, 0, &NLS_FormatsCS, { &NLS_FormatsCS_debug.ProcessLocksList, &NLS_FormatsCS_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": NLS_Formats") } + 0, 0, { (DWORD_PTR)(__FILE__ ": NLS_Formats") } }; static CRITICAL_SECTION NLS_FormatsCS = { &NLS_FormatsCS_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/kernel/module.c b/dlls/kernel/module.c index 2efdd80..961afeb 100644 --- a/dlls/kernel/module.c +++ b/dlls/kernel/module.c
@@ -55,7 +55,7 @@ { 0, 0, &dlldir_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": dlldir_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": dlldir_section") } }; static CRITICAL_SECTION dlldir_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/kernel/profile.c b/dlls/kernel/profile.c index f19a323..2eb6880 100644 --- a/dlls/kernel/profile.c +++ b/dlls/kernel/profile.c
@@ -91,7 +91,7 @@ { 0, 0, &PROFILE_CritSect, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": PROFILE_CritSect") } + 0, 0, { (DWORD_PTR)(__FILE__ ": PROFILE_CritSect") } }; static CRITICAL_SECTION PROFILE_CritSect = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/kernel/syslevel.c b/dlls/kernel/syslevel.c index ee15a2e..b95f215 100644 --- a/dlls/kernel/syslevel.c +++ b/dlls/kernel/syslevel.c
@@ -41,7 +41,7 @@ { 0, 0, &Win16Mutex.crst, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": Win16Mutex") } + 0, 0, { (DWORD_PTR)(__FILE__ ": Win16Mutex") } }; static SYSLEVEL Win16Mutex = { { &critsect_debug, -1, 0, 0, 0, 0 }, 1 };
diff --git a/dlls/kernel/vxd.c b/dlls/kernel/vxd.c index fdcee22..5f0617e 100644 --- a/dlls/kernel/vxd.c +++ b/dlls/kernel/vxd.c
@@ -84,7 +84,7 @@ { 0, 0, &vxd_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": vxd_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": vxd_section") } }; static CRITICAL_SECTION vxd_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/mscms/handle.c b/dlls/mscms/handle.c index ba6f74c..e6418e7 100644 --- a/dlls/mscms/handle.c +++ b/dlls/mscms/handle.c
@@ -37,7 +37,7 @@ 0, 0, &MSCMS_handle_cs, { &MSCMS_handle_cs_debug.ProcessLocksList, &MSCMS_handle_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": MSCMS_handle_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": MSCMS_handle_cs") } }; static CRITICAL_SECTION MSCMS_handle_cs = { &MSCMS_handle_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/msi/handle.c b/dlls/msi/handle.c index 9ecfd05..d5d51fd 100644 --- a/dlls/msi/handle.c +++ b/dlls/msi/handle.c
@@ -37,7 +37,7 @@ 0, 0, &MSI_handle_cs, { &MSI_handle_cs_debug.ProcessLocksList, &MSI_handle_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": MSI_handle_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": MSI_handle_cs") } }; static CRITICAL_SECTION MSI_handle_cs = { &MSI_handle_cs_debug, -1, 0, 0, 0, 0 }; @@ -47,7 +47,7 @@ 0, 0, &MSI_object_cs, { &MSI_object_cs_debug.ProcessLocksList, &MSI_object_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": MSI_object_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": MSI_object_cs") } }; static CRITICAL_SECTION MSI_object_cs = { &MSI_object_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c index 8da6268..df474fb 100644 --- a/dlls/ntdll/cdrom.c +++ b/dlls/ntdll/cdrom.c
@@ -380,7 +380,7 @@ { 0, 0, &cache_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": cache_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": cache_section") } }; static RTL_CRITICAL_SECTION cache_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/critsection.c b/dlls/ntdll/critsection.c index 0c77224..e0066d5 100644 --- a/dlls/ntdll/critsection.c +++ b/dlls/ntdll/critsection.c
@@ -124,8 +124,7 @@ crit->DebugInfo->ProcessLocksList.Flink = &(crit->DebugInfo->ProcessLocksList); crit->DebugInfo->EntryCount = 0; crit->DebugInfo->ContentionCount = 0; - crit->DebugInfo->Spare[0] = 0; - crit->DebugInfo->Spare[1] = 0; + memset( crit->DebugInfo->Spare, 0, sizeof(crit->DebugInfo->Spare) ); } crit->LockCount = -1; crit->RecursionCount = 0; @@ -190,7 +189,7 @@ if (crit->DebugInfo) { /* only free the ones we made in here */ - if (!crit->DebugInfo->Spare[1]) + if (!crit->DebugInfo->Spare[0]) { RtlFreeHeap( GetProcessHeap(), 0, crit->DebugInfo ); crit->DebugInfo = NULL; @@ -234,7 +233,7 @@ if ( status == STATUS_TIMEOUT ) { const char *name = NULL; - if (crit->DebugInfo) name = (char *)crit->DebugInfo->Spare[1]; + if (crit->DebugInfo) name = (char *)crit->DebugInfo->Spare[0]; if (!name) name = "?"; ERR( "section %p %s wait timed out in thread %04lx, blocked by %04lx, retrying (60 sec)\n", crit, debugstr_a(name), GetCurrentThreadId(), (DWORD)crit->OwningThread ); @@ -251,7 +250,7 @@ if (status == STATUS_WAIT_0) return STATUS_SUCCESS; /* Throw exception only for Wine internal locks */ - if ((!crit->DebugInfo) || (!crit->DebugInfo->Spare[1])) continue; + if ((!crit->DebugInfo) || (!crit->DebugInfo->Spare[0])) continue; rec.ExceptionCode = STATUS_POSSIBLE_DEADLOCK; rec.ExceptionFlags = 0;
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index e11e8d1..d2dc09d 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c
@@ -141,7 +141,7 @@ { 0, 0, &dir_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": dir_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": dir_section") } }; static RTL_CRITICAL_SECTION dir_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c index cd7cc6f..35b89b1 100644 --- a/dlls/ntdll/exception.c +++ b/dlls/ntdll/exception.c
@@ -58,7 +58,7 @@ { 0, 0, &vectored_handlers_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": vectored_handlers_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": vectored_handlers_section") } }; static RTL_CRITICAL_SECTION vectored_handlers_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c index 8344d62..71a06b2 100644 --- a/dlls/ntdll/heap.c +++ b/dlls/ntdll/heap.c
@@ -188,7 +188,7 @@ { 0, 0, NULL, /* will be set later */ { &process_heap_critsect_debug.ProcessLocksList, &process_heap_critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": main process heap section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": main process heap section") } };
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index fa04f82..205fc00 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c
@@ -101,7 +101,7 @@ { 0, 0, &loader_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": loader_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": loader_section") } }; static RTL_CRITICAL_SECTION loader_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 930c9d9..dcc3867 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c
@@ -42,7 +42,7 @@ { 0, 0, &peb_lock, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": peb_lock") } + 0, 0, { (DWORD_PTR)(__FILE__ ": peb_lock") } }; static RTL_CRITICAL_SECTION peb_lock = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c index 1906bca..941ab8f 100644 --- a/dlls/ntdll/time.c +++ b/dlls/ntdll/time.c
@@ -52,7 +52,7 @@ { 0, 0, &TIME_GetBias_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": TIME_GetBias_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": TIME_GetBias_section") } }; static RTL_CRITICAL_SECTION TIME_GetBias_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c index 0d56b66..038737c 100644 --- a/dlls/ntdll/virtual.c +++ b/dlls/ntdll/virtual.c
@@ -106,7 +106,7 @@ { 0, 0, &csVirtual, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": csVirtual") } + 0, 0, { (DWORD_PTR)(__FILE__ ": csVirtual") } }; static RTL_CRITICAL_SECTION csVirtual = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c index 8c7a8bd..53acd8e 100644 --- a/dlls/ole32/compobj.c +++ b/dlls/ole32/compobj.c
@@ -97,7 +97,7 @@ { 0, 0, &csApartment, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": csApartment") } + 0, 0, { (DWORD_PTR)(__FILE__ ": csApartment") } }; static CRITICAL_SECTION csApartment = { &critsect_debug, -1, 0, 0, 0, 0 }; @@ -134,7 +134,7 @@ { 0, 0, &csRegisteredClassList, { &class_cs_debug.ProcessLocksList, &class_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": csRegisteredClassList") } + 0, 0, { (DWORD_PTR)(__FILE__ ": csRegisteredClassList") } }; static CRITICAL_SECTION csRegisteredClassList = { &class_cs_debug, -1, 0, 0, 0, 0 }; @@ -161,7 +161,7 @@ { 0, 0, &csOpenDllList, { &dll_cs_debug.ProcessLocksList, &dll_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": csOpenDllList") } + 0, 0, { (DWORD_PTR)(__FILE__ ": csOpenDllList") } }; static CRITICAL_SECTION csOpenDllList = { &dll_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ole32/compobj_private.h b/dlls/ole32/compobj_private.h index 88d251b..97a3177 100644 --- a/dlls/ole32/compobj_private.h +++ b/dlls/ole32/compobj_private.h
@@ -256,13 +256,8 @@ #define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field)) /* helpers for debugging */ -#ifdef __i386__ -# define DEBUG_SET_CRITSEC_NAME(cs, name) (cs)->DebugInfo->Spare[1] = (DWORD)(__FILE__ ": " name) -# define DEBUG_CLEAR_CRITSEC_NAME(cs) (cs)->DebugInfo->Spare[1] = 0 -#else -# define DEBUG_SET_CRITSEC_NAME(cs, name) -# define DEBUG_CLEAR_CRITSEC_NAME(cs) -#endif +# define DEBUG_SET_CRITSEC_NAME(cs, name) (cs)->DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": " name) +# define DEBUG_CLEAR_CRITSEC_NAME(cs) (cs)->DebugInfo->Spare[0] = 0 extern HINSTANCE OLE32_hInstance; /* FIXME: make static */
diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c index f51714c..cdf763a 100644 --- a/dlls/ole32/git.c +++ b/dlls/ole32/git.c
@@ -88,7 +88,7 @@ { 0, 0, &git_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": global interface table") } + 0, 0, { (DWORD_PTR)(__FILE__ ": global interface table") } }; static CRITICAL_SECTION git_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ole32/ifs.c b/dlls/ole32/ifs.c index 5c087f3..0696139 100644 --- a/dlls/ole32/ifs.c +++ b/dlls/ole32/ifs.c
@@ -68,7 +68,7 @@ { 0, 0, &IMalloc32_SpyCS, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": IMalloc32_SpyCS") } + 0, 0, { (DWORD_PTR)(__FILE__ ": IMalloc32_SpyCS") } }; static CRITICAL_SECTION IMalloc32_SpyCS = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c index a867a9b..117abfd 100644 --- a/dlls/ole32/rpc.c +++ b/dlls/ole32/rpc.c
@@ -63,7 +63,7 @@ { 0, 0, &csRegIf, { &csRegIf_debug.ProcessLocksList, &csRegIf_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": dcom registered server interfaces") } + 0, 0, { (DWORD_PTR)(__FILE__ ": dcom registered server interfaces") } }; static CRITICAL_SECTION csRegIf = { &csRegIf_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index f60b013..a764c12 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c
@@ -2155,7 +2155,7 @@ { 0, 0, &cache_section, { &cache_section_debug.ProcessLocksList, &cache_section_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": typelib loader cache") } + 0, 0, { (DWORD_PTR)(__FILE__ ": typelib loader cache") } }; static CRITICAL_SECTION cache_section = { &cache_section_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c index b33b50b..72050ac 100644 --- a/dlls/rpcrt4/rpc_server.c +++ b/dlls/rpcrt4/rpc_server.c
@@ -78,7 +78,7 @@ { 0, 0, &server_cs, { &server_cs_debug.ProcessLocksList, &server_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": server_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": server_cs") } }; static CRITICAL_SECTION server_cs = { &server_cs_debug, -1, 0, 0, 0, 0 }; @@ -87,7 +87,7 @@ { 0, 0, &listen_cs, { &listen_cs_debug.ProcessLocksList, &listen_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": listen_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": listen_cs") } }; static CRITICAL_SECTION listen_cs = { &listen_cs_debug, -1, 0, 0, 0, 0 }; @@ -109,7 +109,7 @@ { 0, 0, &spacket_cs, { &spacket_cs_debug.ProcessLocksList, &spacket_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": spacket_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": spacket_cs") } }; static CRITICAL_SECTION spacket_cs = { &spacket_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c index 20f7e6f..93de08f 100644 --- a/dlls/rpcrt4/rpcrt4_main.c +++ b/dlls/rpcrt4/rpcrt4_main.c
@@ -129,7 +129,7 @@ { 0, 0, &uuid_cs, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": uuid_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": uuid_cs") } }; static CRITICAL_SECTION uuid_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/shell32/changenotify.c b/dlls/shell32/changenotify.c index 9cbded9..745f12f 100644 --- a/dlls/shell32/changenotify.c +++ b/dlls/shell32/changenotify.c
@@ -36,7 +36,7 @@ { 0, 0, &SHELL32_ChangenotifyCS, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": SHELL32_ChangenotifyCS") } + 0, 0, { (DWORD_PTR)(__FILE__ ": SHELL32_ChangenotifyCS") } }; static CRITICAL_SECTION SHELL32_ChangenotifyCS = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c index 160d1eb..fcae9a3 100644 --- a/dlls/shell32/iconcache.c +++ b/dlls/shell32/iconcache.c
@@ -67,7 +67,7 @@ { 0, 0, &SHELL32_SicCS, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": SHELL32_SicCS") } + 0, 0, { (DWORD_PTR)(__FILE__ ": SHELL32_SicCS") } }; static CRITICAL_SECTION SHELL32_SicCS = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/user/cursoricon.c b/dlls/user/cursoricon.c index af4c832..e2de02e 100644 --- a/dlls/user/cursoricon.c +++ b/dlls/user/cursoricon.c
@@ -127,7 +127,7 @@ { 0, 0, &IconCrst, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": IconCrst") } + 0, 0, { (DWORD_PTR)(__FILE__ ": IconCrst") } }; static CRITICAL_SECTION IconCrst = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/user/dde_misc.c b/dlls/user/dde_misc.c index 7185435..6becff7 100644 --- a/dlls/user/dde_misc.c +++ b/dlls/user/dde_misc.c
@@ -55,7 +55,7 @@ { 0, 0, &WDML_CritSect, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": WDML_CritSect") } + 0, 0, { (DWORD_PTR)(__FILE__ ": WDML_CritSect") } }; CRITICAL_SECTION WDML_CritSect = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/user/message.c b/dlls/user/message.c index a976890..5e8f5b5 100644 --- a/dlls/user/message.c +++ b/dlls/user/message.c
@@ -1203,7 +1203,7 @@ { 0, 0, &dde_crst, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": dde_crst") } + 0, 0, { (DWORD_PTR)(__FILE__ ": dde_crst") } }; static CRITICAL_SECTION dde_crst = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/user/user_main.c b/dlls/user/user_main.c index 73d92ec..ab5e67e 100644 --- a/dlls/user/user_main.c +++ b/dlls/user/user_main.c
@@ -43,7 +43,7 @@ { 0, 0, &USER_SysLevel.crst, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": USER_SysLevel") } + 0, 0, { (DWORD_PTR)(__FILE__ ": USER_SysLevel") } }; static SYSLEVEL USER_SysLevel = { { &critsect_debug, -1, 0, 0, 0, 0 }, 2 };
diff --git a/dlls/user/winproc.c b/dlls/user/winproc.c index fbd7150..8bec671 100644 --- a/dlls/user/winproc.c +++ b/dlls/user/winproc.c
@@ -129,7 +129,7 @@ { 0, 0, &winproc_cs, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": winproc_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": winproc_cs") } }; static CRITICAL_SECTION winproc_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winaspi/winaspi32.c b/dlls/winaspi/winaspi32.c index e0b4af9..ddcccbb 100644 --- a/dlls/winaspi/winaspi32.c +++ b/dlls/winaspi/winaspi32.c
@@ -59,7 +59,7 @@ { 0, 0, &ASPI_CritSection, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": ASPI_CritSection") } + 0, 0, { (DWORD_PTR)(__FILE__ ": ASPI_CritSection") } }; static CRITICAL_SECTION ASPI_CritSection = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winedos/dosvm.c b/dlls/winedos/dosvm.c index 09caa5a..9adf72d 100644 --- a/dlls/winedos/dosvm.c +++ b/dlls/winedos/dosvm.c
@@ -81,7 +81,7 @@ { 0, 0, &qcrit, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": qcrit") } + 0, 0, { (DWORD_PTR)(__FILE__ ": qcrit") } }; static CRITICAL_SECTION qcrit = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winedos/vga.c b/dlls/winedos/vga.c index 0883cf9..9eb7447 100644 --- a/dlls/winedos/vga.c +++ b/dlls/winedos/vga.c
@@ -147,7 +147,7 @@ { 0, 0, &vga_lock, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": vga_lock") } + 0, 0, { (DWORD_PTR)(__FILE__ ": vga_lock") } }; static CRITICAL_SECTION vga_lock = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index a4a364b..d1f8711 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c
@@ -109,7 +109,7 @@ { 0, 0, &WININET_cs, { &WININET_cs_debug.ProcessLocksList, &WININET_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": WININET_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": WININET_cs") } }; static CRITICAL_SECTION WININET_cs = { &WININET_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winmm/winealsa/midi.c b/dlls/winmm/winealsa/midi.c index 7375046..c815ecb 100644 --- a/dlls/winmm/winealsa/midi.c +++ b/dlls/winmm/winealsa/midi.c
@@ -102,7 +102,7 @@ { 0, 0, &crit_sect, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": crit_sect") } + 0, 0, { (DWORD_PTR)(__FILE__ ": crit_sect") } }; static CRITICAL_SECTION crit_sect = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winmm/wineoss/audio.c b/dlls/winmm/wineoss/audio.c index 197fdc7..ca7cdd6 100644 --- a/dlls/winmm/wineoss/audio.c +++ b/dlls/winmm/wineoss/audio.c
@@ -1176,7 +1176,7 @@ omr->ring_buffer_size = OSS_RING_BUFFER_INCREMENT; omr->messages = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,omr->ring_buffer_size * sizeof(OSS_MSG)); InitializeCriticalSection(&omr->msg_crst); - omr->msg_crst.DebugInfo->Spare[1] = (DWORD)"WINEOSS_msg_crst"; + omr->msg_crst.DebugInfo->Spare[0] = (DWORD_PTR)"WINEOSS_msg_crst"; return 0; }
diff --git a/dlls/winmm/wineoss/midi.c b/dlls/winmm/wineoss/midi.c index 142c6a4..6dc9f7a 100644 --- a/dlls/winmm/wineoss/midi.c +++ b/dlls/winmm/wineoss/midi.c
@@ -126,7 +126,7 @@ { 0, 0, &crit_sect, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": crit_sect") } + 0, 0, { (DWORD_PTR)(__FILE__ ": crit_sect") } }; static CRITICAL_SECTION crit_sect = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c index a5d1c20..fdaa870 100644 --- a/dlls/winmm/winmm.c +++ b/dlls/winmm/winmm.c
@@ -76,7 +76,7 @@ WINMM_IData.hWinMM32Instance = hInstDLL; InitializeCriticalSection(&WINMM_IData.cs); - WINMM_IData.cs.DebugInfo->Spare[1] = (DWORD)"WINMM_IData"; + WINMM_IData.cs.DebugInfo->Spare[0] = (DWORD_PTR)"WINMM_IData"; WINMM_IData.psStopEvent = CreateEventW(NULL, TRUE, FALSE, NULL); WINMM_IData.psLastEvent = CreateEventW(NULL, TRUE, FALSE, NULL); TRACE("Initialized IData (%p)\n", &WINMM_IData);
diff --git a/dlls/winsock/async.c b/dlls/winsock/async.c index 7d16b12..c7d4887 100644 --- a/dlls/winsock/async.c +++ b/dlls/winsock/async.c
@@ -121,7 +121,7 @@ { 0, 0, &csWSgetXXXbyYYY, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": csWSgetXXXbyYYY") } + 0, 0, { (DWORD_PTR)(__FILE__ ": csWSgetXXXbyYYY") } }; CRITICAL_SECTION csWSgetXXXbyYYY = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/winspool/info.c b/dlls/winspool/info.c index d5af30a..8fe286c 100644 --- a/dlls/winspool/info.c +++ b/dlls/winspool/info.c
@@ -69,7 +69,7 @@ { 0, 0, &printer_handles_cs, { &printer_handles_cs_debug.ProcessLocksList, &printer_handles_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": printer_handles_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": printer_handles_cs") } }; static CRITICAL_SECTION printer_handles_cs = { &printer_handles_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/x11drv/dce.c b/dlls/x11drv/dce.c index 2dd1dd9..1c74d81 100644 --- a/dlls/x11drv/dce.c +++ b/dlls/x11drv/dce.c
@@ -57,7 +57,7 @@ { 0, 0, &dce_section, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": dce_section") } + 0, 0, { (DWORD_PTR)(__FILE__ ": dce_section") } }; static CRITICAL_SECTION dce_section = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/x11drv/dib.c b/dlls/x11drv/dib.c index 22fdbf7..7811764 100644 --- a/dlls/x11drv/dib.c +++ b/dlls/x11drv/dib.c
@@ -51,7 +51,7 @@ { 0, 0, &dibs_cs, { &dibs_cs_debug.ProcessLocksList, &dibs_cs_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": dibs_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": dibs_cs") } }; static CRITICAL_SECTION dibs_cs = { &dibs_cs_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/x11drv/x11drv_main.c b/dlls/x11drv/x11drv_main.c index 64ef23c..c23e33f 100644 --- a/dlls/x11drv/x11drv_main.c +++ b/dlls/x11drv/x11drv_main.c
@@ -57,7 +57,7 @@ { 0, 0, &X11DRV_CritSection, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": X11DRV_CritSection") } + 0, 0, { (DWORD_PTR)(__FILE__ ": X11DRV_CritSection") } }; static CRITICAL_SECTION X11DRV_CritSection = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/x11drv/xdnd.c b/dlls/x11drv/xdnd.c index f0b8c2a..02e0459 100644 --- a/dlls/x11drv/xdnd.c +++ b/dlls/x11drv/xdnd.c
@@ -73,7 +73,7 @@ { 0, 0, &xdnd_cs, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": xdnd_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": xdnd_cs") } }; static CRITICAL_SECTION xdnd_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/x11drv/xfont.c b/dlls/x11drv/xfont.c index ebfb1d1..1a8ea56 100644 --- a/dlls/x11drv/xfont.c +++ b/dlls/x11drv/xfont.c
@@ -325,7 +325,7 @@ { 0, 0, &crtsc_fonts_X11, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": crtsc_fonts_X11") } + 0, 0, { (DWORD_PTR)(__FILE__ ": crtsc_fonts_X11") } }; static CRITICAL_SECTION crtsc_fonts_X11 = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/dlls/x11drv/xrender.c b/dlls/x11drv/xrender.c index b240c9a..5b720a2 100644 --- a/dlls/x11drv/xrender.c +++ b/dlls/x11drv/xrender.c
@@ -137,7 +137,7 @@ { 0, 0, &xrender_cs, { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": xrender_cs") } + 0, 0, { (DWORD_PTR)(__FILE__ ": xrender_cs") } }; static CRITICAL_SECTION xrender_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
diff --git a/include/winnt.h b/include/winnt.h index 9858433..8ffb690 100644 --- a/include/winnt.h +++ b/include/winnt.h
@@ -3985,7 +3985,11 @@ LIST_ENTRY ProcessLocksList; DWORD EntryCount; DWORD ContentionCount; +#ifdef __WINESRC__ /* in Wine we store the name here */ + DWORD_PTR Spare[8/sizeof(DWORD_PTR)]; +#else DWORD Spare[ 2 ]; +#endif } RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG; typedef struct _RTL_CRITICAL_SECTION {