From: James Tabor Date: Tue, 22 Nov 2016 04:46:58 +0000 (+0000) Subject: [Win32SS] X-Git-Tag: ReactOS-0.4.4-FOSDEM2017~201 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=b45fe0d55c07f6addac6aeac97b89841b7302035 [Win32SS] - Patch by Katayama Hirofumi MZ : Improves NC_IconForWindow function. See CORE-12129. svn path=/trunk/; revision=73334 --- diff --git a/reactos/win32ss/user/ntuser/nonclient.c b/reactos/win32ss/user/ntuser/nonclient.c index ff45e97c14b..d28577a80ce 100644 --- a/reactos/win32ss/user/ntuser/nonclient.c +++ b/reactos/win32ss/user/ntuser/nonclient.c @@ -613,11 +613,6 @@ PCURICON_OBJECT FASTCALL NC_IconForWindow( PWND pWnd ) PCURICON_OBJECT pIcon = NULL; HICON hIcon; - //FIXME: Some callers use this function as if it returns a boolean saying "this window has an icon". - //FIXME: Hence we must return a pointer with no reference count. - //FIXME: This is bad and we should feel bad. - //FIXME: Stop whining over wine code. - hIcon = UserGetProp(pWnd, gpsi->atomIconSmProp, TRUE); if (!hIcon) hIcon = UserGetProp(pWnd, gpsi->atomIconProp, TRUE); @@ -636,11 +631,9 @@ PCURICON_OBJECT FASTCALL NC_IconForWindow( PWND pWnd ) } if (hIcon) { - pIcon = UserGetCurIconObject(hIcon); - if (pIcon) - { - UserDereferenceObject(pIcon); - } + pIcon = (PCURICON_OBJECT)UserGetObjectNoErr(gHandleTable, + hIcon, + TYPE_CURSOR); } return pIcon; }