From 258ba629a2dc1af61b2fade1e040830080ffcc57 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Fri, 26 Dec 2014 16:53:55 +0100 Subject: Windows: workaround freezing of waiting dialog but setting its parent to the desktop and making all mount calls in a separate thread. DeviceIoControl is making our like hard because it doesn't behave as a normal system call and it blocks our window message loop even when called from a separate thread. --- src/Common/Common.rc | 3 ++- src/Common/Dlgcode.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/Common') diff --git a/src/Common/Common.rc b/src/Common/Common.rc index 4f4dfb32..fcb7aaab 100644 --- a/src/Common/Common.rc +++ b/src/Common/Common.rc @@ -310,7 +310,8 @@ BEGIN END IDD_STATIC_MODAL_WAIT_DLG DIALOGEX 0, 0, 292, 61 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION +STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION +EXSTYLE WS_EX_TOPMOST CAPTION "VeraCrypt" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index f7d86cfb..844cda9b 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -6369,9 +6369,9 @@ retry: threadParam.pmount = &mount; threadParam.pbResult = &bResult; threadParam.pdwResult = &dwResult; - + DialogBoxParamW (hInst, - MAKEINTRESOURCEW (IDD_STATIC_MODAL_WAIT_DLG), hwndDlg, + MAKEINTRESOURCEW (IDD_STATIC_MODAL_WAIT_DLG), GetDesktopWindow(), (DLGPROC) MountWaitDlgProc, (LPARAM) &threadParam); } else -- cgit v1.2.3