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/Mount/Mount.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/Mount/Mount.h') diff --git a/src/Mount/Mount.h b/src/Mount/Mount.h index e982de81..9b320a8c 100644 --- a/src/Mount/Mount.h +++ b/src/Mount/Mount.h @@ -113,8 +113,17 @@ static BOOL HandleDriveListMouseWheelEvent (UINT uMsg, WPARAM wParam, LPARAM lPa #ifdef __cplusplus } +typedef struct +{ + BOOL systemFavorites; + BOOL logOnMount; + BOOL hotKeyMount; + VeraCrypt::FavoriteVolume* favoriteVolumeToMount; +} mountFavoriteVolumeThreadParam; + void SetDriverConfigurationFlag (uint32 flag, BOOL state); BOOL MountFavoriteVolumes (BOOL systemFavorites = FALSE, BOOL logOnMount = FALSE, BOOL hotKeyMount = FALSE, const VeraCrypt::FavoriteVolume &favoriteVolumeToMount = VeraCrypt::FavoriteVolume()); +void __cdecl mountFavoriteVolumeThreadFunction (void *pArg); BOOL GetExecutableImageInformation (const string &path, string &version, string &description, string &companyName, string &productName); #endif -- cgit v1.2.3