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; }