https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ee3ee2a65f66016063e753...
commit ee3ee2a65f66016063e7537b78e2dd7572a616a8 Author: James Tabor james.tabor@reactos.org AuthorDate: Wed Apr 8 14:49:38 2020 -0500 Commit: James Tabor james.tabor@reactos.org CommitDate: Wed Apr 8 14:49:38 2020 -0500
[User32] Fix Dialog Hang
Patch by JIRA contributor I_Kill_Bugs. See CORE-5078.
Also: https://bugs.winehq.org/show_bug.cgi?id=48749 --- win32ss/user/user32/windows/dialog.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/win32ss/user/user32/windows/dialog.c b/win32ss/user/user32/windows/dialog.c index 1acb4f55306..c853e5f8ebd 100644 --- a/win32ss/user/user32/windows/dialog.c +++ b/win32ss/user/user32/windows/dialog.c @@ -936,8 +936,14 @@ static HWND DIALOG_CreateIndirect( HINSTANCE hInst, LPCVOID dlgTemplate,
if (IsWindowEnabled( owner )) { + HWND captured = NULL; disabled_owner = owner; EnableWindow( disabled_owner, FALSE ); + + captured = GetCapture(); + + if (captured) + SendMessageW(captured, WM_CANCELMODE, 0, 0); } } *modal_owner = owner;