From 38560761cef087cfd68af94f1e938f04a938dddf Mon Sep 17 00:00:00 2001 From: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com> Date: Sun, 2 Jul 2023 13:19:06 +0200 Subject: [PATCH] [WIN32K:NTUSER] Add ASSERT() on "linking window to itself" (#4749) Addendum to ee0511b (0.4.10-dev-323). CORE-18132 --- win32ss/user/ntuser/window.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/win32ss/user/ntuser/window.c b/win32ss/user/ntuser/window.c index b4ab2d6e69f..e587c73a58d 100644 --- a/win32ss/user/ntuser/window.c +++ b/win32ss/user/ntuser/window.c @@ -943,7 +943,8 @@ IntLinkWindow( { if (Wnd == WndInsertAfter) { - ERR("IntLinkWindow -- Trying to link window 0x%p to itself!!\n", Wnd); + ERR("Trying to link window 0x%p to itself\n", Wnd); + ASSERT(WndInsertAfter != Wnd); return; } @@ -1046,8 +1047,15 @@ VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev) } if (Wnd == WndInsertAfter) - ERR("IntLinkHwnd -- Trying to link window 0x%p to itself!!\n", Wnd); - IntLinkWindow(Wnd, WndInsertAfter); + { + ERR("Trying to link window 0x%p to itself\n", Wnd); + ASSERT(WndInsertAfter != Wnd); + // FIXME: IntUnlinkWindow(Wnd) was already called. Continuing as is seems wrong! + } + else + { + IntLinkWindow(Wnd, WndInsertAfter); + } /* Fix the WS_EX_TOPMOST flag */ if (!(WndInsertAfter->ExStyle & WS_EX_TOPMOST))