Prevent the window from being destroyed twice
fixes BSOD 0x1E CORE-18821
ASSERT_REFS_CO(Window); // FIXME: Temp HACK?
+ /* NtUserDestroyWindow does check if the window has already been destroyed
+ but co_UserDestroyWindow can be called from more paths which means
+ that it can also be called for a window that has already been destroyed. */
+ if (!IntIsWindow(UserHMGetHandle(Window)))
+ {
+ TRACE("Tried to destroy a window twice\n");
+ return TRUE;
+ }
+
hWnd = Window->head.h;
ti = PsGetCurrentThreadWin32Thread();