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 1acb4f5530..989b965229 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) + SendMessage(captured, WM_CANCELMODE, 0, 0); } } *modal_owner = owner;