From 41819270bbb7129a5568125a6b0cbfdf719680bd Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Thu, 15 Oct 2015 01:18:25 +0200 Subject: Windows: Solve lost focus for application after displaying the waiting dialog --- src/Mount/Mount.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/Mount') diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index 9ee58151..cd82c08e 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -4598,9 +4598,10 @@ static BOOL Dismount (HWND hwndDlg, int nDosDriveNo) void __cdecl mountThreadFunction (void *hwndDlgArg) { HWND hwndDlg =(HWND) hwndDlgArg; + BOOL bIsForeground = (GetForegroundWindow () == hwndDlg)? TRUE : FALSE; // Disable parent dialog during processing to avoid user interaction EnableWindow(hwndDlg, FALSE); - finally_do_arg (HWND, hwndDlg, { EnableWindow(finally_arg, TRUE); bPrebootPasswordDlgMode = FALSE;}); + finally_do_arg2 (HWND, hwndDlg, BOOL, bIsForeground, { EnableWindow(finally_arg, TRUE); if (finally_arg2) BringToForeground (finally_arg); bPrebootPasswordDlgMode = FALSE;}); Mount (hwndDlg, 0, 0, -1); } @@ -9102,7 +9103,7 @@ void CALLBACK mountFavoriteVolumeCallbackFunction (void *pArg, HWND hwnd) void __cdecl mountFavoriteVolumeThreadFunction (void *pArg) { - ShowWaitDialog (NULL, FALSE, mountFavoriteVolumeCallbackFunction, pArg); + ShowWaitDialog (MainDlg, FALSE, mountFavoriteVolumeCallbackFunction, pArg); } static void SaveDefaultKeyFilesParam (HWND hwnd) -- cgit v1.2.3