Windows: cleaner code for handling of disabling of parent dialog when waiting dialog displayed

This commit is contained in:
Mounir IDRASSI 2016-12-28 15:57:50 +01:00
parent 5493de11d5
commit 4a246cb6ef
No known key found for this signature in database
GPG Key ID: DD0C382D5FCFB8FC

View File

@ -7372,16 +7372,16 @@ void ShowWaitDialog(HWND hwnd, BOOL bUseHwndAsParent, WaitThreadProc callback, v
else
{
BOOL bIsForeground = FALSE;
HWND creatorWnd = hwnd? hwnd : MainDlg;
WaitDialogDisplaying = TRUE;
if (hwnd)
if (creatorWnd)
{
if (GetForegroundWindow () == hwnd)
if (GetForegroundWindow () == creatorWnd)
bIsForeground = TRUE;
EnableWindow (hwnd, FALSE);
EnableWindow (creatorWnd, FALSE);
}
else
EnableWindow (MainDlg, FALSE);
finally_do_arg2 (HWND, hwnd, BOOL, bIsForeground, { if (finally_arg) {EnableWindow(finally_arg, TRUE); if (finally_arg2) BringToForeground (finally_arg);} else EnableWindow (MainDlg, TRUE);});
finally_do_arg2 (HWND, creatorWnd, BOOL, bIsForeground, { if (finally_arg) { EnableWindow(finally_arg, TRUE); if (finally_arg2) BringToForeground (finally_arg);}});
DialogBoxParamW (hInst,
MAKEINTRESOURCEW (IDD_STATIC_MODAL_WAIT_DLG), hParent,