From: Katayama Hirofumi MZ Date: Tue, 15 Jan 2019 11:32:23 +0000 (+0900) Subject: [WIN32SS][USER32] Make IsHungAppWindow check FNID (#1245) X-Git-Tag: 0.4.13-dev~713 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=1a4732703cd4ebedecbbdf384bb6e3a5a745dbec [WIN32SS][USER32] Make IsHungAppWindow check FNID (#1245) CORE-11944 --- diff --git a/win32ss/user/user32/windows/window.c b/win32ss/user/user32/windows/window.c index 4485c24d824..ccf0670bc16 100644 --- a/win32ss/user/user32/windows/window.c +++ b/win32ss/user/user32/windows/window.c @@ -1841,13 +1841,16 @@ InternalGetWindowText(HWND hWnd, LPWSTR lpString, int nMaxCount) BOOL WINAPI IsHungAppWindow(HWND hwnd) { + PWND Window; UNICODE_STRING ClassName; WCHAR szClass[16]; static const UNICODE_STRING GhostClass = RTL_CONSTANT_STRING(L"Ghost"); /* Ghost is a hung window */ RtlInitEmptyUnicodeString(&ClassName, szClass, sizeof(szClass)); - if (NtUserGetClassName(hwnd, FALSE, &ClassName) && + Window = ValidateHwnd(hwnd); + if (Window && Window->fnid == FNID_GHOST && + NtUserGetClassName(hwnd, FALSE, &ClassName) && RtlEqualUnicodeString(&ClassName, &GhostClass, TRUE)) { return TRUE;