Rémi Bernon : kernelbase: Remove unnecessary handler from LocalUnlock.
Alexandre Julliard
julliard at winehq.org
Mon Apr 4 15:37:52 CDT 2022
Module: wine
Branch: master
Commit: 4f596c04be3efdf7ce57f427f5ea643064e45aea
URL: https://source.winehq.org/git/wine.git/?a=commit;h=4f596c04be3efdf7ce57f427f5ea643064e45aea
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Mon Apr 4 10:02:01 2022 +0200
kernelbase: Remove unnecessary handler from LocalUnlock.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernelbase/memory.c | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
diff --git a/dlls/kernelbase/memory.c b/dlls/kernelbase/memory.c
index 9ae1b6d50dd..06dbc66b7b9 100644
--- a/dlls/kernelbase/memory.c
+++ b/dlls/kernelbase/memory.c
@@ -918,6 +918,7 @@ HLOCAL WINAPI DECLSPEC_HOTPATCH LocalReAlloc( HLOCAL handle, SIZE_T size, UINT f
*/
BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock( HLOCAL handle )
{
+ HANDLE heap = GetProcessHeap();
struct mem_entry *mem;
BOOL ret = FALSE;
@@ -929,36 +930,28 @@ BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock( HLOCAL handle )
return FALSE;
}
- RtlLockHeap( GetProcessHeap() );
- __TRY
+ RtlLockHeap( heap );
+ if ((mem = unsafe_mem_from_HLOCAL( handle )))
{
- if ((mem = unsafe_mem_from_HLOCAL( handle )))
+ if (mem->lock)
{
- if (mem->lock)
- {
- mem->lock--;
- ret = (mem->lock != 0);
- if (!ret) SetLastError( NO_ERROR );
- }
- else
- {
- WARN_(globalmem)( "%p not locked\n", handle );
- SetLastError( ERROR_NOT_LOCKED );
- }
+ mem->lock--;
+ ret = (mem->lock != 0);
+ if (!ret) SetLastError( NO_ERROR );
}
else
{
- WARN_(globalmem)( "invalid handle %p\n", handle );
- SetLastError( ERROR_INVALID_HANDLE );
+ WARN_(globalmem)( "%p not locked\n", handle );
+ SetLastError( ERROR_NOT_LOCKED );
}
}
- __EXCEPT_PAGE_FAULT
+ else
{
- WARN_(globalmem)( "(%p): Page fault occurred ! Caused by bug ?\n", handle );
- SetLastError( ERROR_INVALID_PARAMETER );
+ WARN_(globalmem)( "invalid handle %p\n", handle );
+ SetLastError( ERROR_INVALID_HANDLE );
}
- __ENDTRY
- RtlUnlockHeap( GetProcessHeap() );
+ RtlUnlockHeap( heap );
+
return ret;
}
More information about the wine-cvs
mailing list