From 4c064550ec76f4705aedf2990e27002f3f61fff9 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sat, 10 Oct 2015 14:43:25 +0000 Subject: [PATCH] [WIN32K:NTUSER] - Make IntRemoveProp return the property value and use it from NtUserRemoveProp svn path=/trunk/; revision=69488 --- reactos/win32ss/user/ntuser/prop.c | 20 ++++++-------------- reactos/win32ss/user/ntuser/prop.h | 3 +-- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/reactos/win32ss/user/ntuser/prop.c b/reactos/win32ss/user/ntuser/prop.c index 8048cbcfe60..cf5b1cc84cd 100644 --- a/reactos/win32ss/user/ntuser/prop.c +++ b/reactos/win32ss/user/ntuser/prop.c @@ -58,25 +58,27 @@ UserGetProp( } _Success_(return) -BOOL +HANDLE FASTCALL IntRemoveProp( _In_ PWND Window, _In_ ATOM Atom) { PPROPERTY Prop; + HANDLE Data; NT_ASSERT(UserIsEnteredExclusive()); Prop = IntGetProp(Window, Atom); if (Prop == NULL) { - return FALSE; + return NULL; } + Data = Prop->Data; RemoveEntryList(&Prop->PropListEntry); UserHeapFree(Prop); Window->PropListItems--; - return TRUE; + return Data; } _Success_(return) @@ -215,7 +217,6 @@ NtUserRemoveProp( _In_ ATOM Atom) { PWND Window; - PPROPERTY Prop; HANDLE Data = NULL; TRACE("Enter NtUserRemoveProp\n"); @@ -227,16 +228,7 @@ NtUserRemoveProp( goto Exit; } - Prop = IntGetProp(Window, Atom); - if (Prop == NULL) - { - goto Exit; - } - - Data = Prop->Data; - RemoveEntryList(&Prop->PropListEntry); - UserHeapFree(Prop); - Window->PropListItems--; + Data = IntRemoveProp(Window, Atom); Exit: TRACE("Leave NtUserRemoveProp, ret=%p\n", Data); diff --git a/reactos/win32ss/user/ntuser/prop.h b/reactos/win32ss/user/ntuser/prop.h index 675882cb4c2..76087f7b866 100644 --- a/reactos/win32ss/user/ntuser/prop.h +++ b/reactos/win32ss/user/ntuser/prop.h @@ -12,8 +12,7 @@ UserGetProp( _In_ PWND Window, _In_ ATOM Atom); -_Success_(return) -BOOL +HANDLE FASTCALL IntRemoveProp( _In_ PWND Window,