VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2017-12-06 14:46:03 (GMT)
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2017-12-06 22:25:45 (GMT)
commitd6f03627dd6830040b07c79953771024ca2ec95f (patch)
treeed3d0cec4533021fb9d0c1e399225b2b844cce34
parentb4ed8de5d565f9bb41361673e91c4ad65d08a7cd (diff)
downloadVeraCrypt-d6f03627dd6830040b07c79953771024ca2ec95f.zip
VeraCrypt-d6f03627dd6830040b07c79953771024ca2ec95f.tar.gz
Linux/MacOSX: Avoid OS leaking previously used directory if user choose not to save history.
-rwxr-xr-xsrc/Main/GraphicUserInterface.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Main/GraphicUserInterface.cpp b/src/Main/GraphicUserInterface.cpp
index a6d1ae2..ba5f684 100755
--- a/src/Main/GraphicUserInterface.cpp
+++ b/src/Main/GraphicUserInterface.cpp
@@ -1569,13 +1569,18 @@ namespace VeraCrypt
DirectoryPath GraphicUserInterface::SelectDirectory (wxWindow *parent, const wxString &message, bool existingOnly) const
{
+ /* Avoid OS leaking previously used directory when user choose not to save history */
+ wxString defaultPath;
+ if (!GetPreferences().SaveHistory)
+ defaultPath = wxGetHomeDir ();
+
return DirectoryPath (::wxDirSelector (!message.empty() ? message :
#ifdef __WXGTK__
wxDirSelectorPromptStr,
#else
L"",
#endif
- L"", wxDD_DEFAULT_STYLE | (existingOnly ? wxDD_DIR_MUST_EXIST : 0), wxDefaultPosition, parent).wc_str());
+ defaultPath, wxDD_DEFAULT_STYLE | (existingOnly ? wxDD_DIR_MUST_EXIST : 0), wxDefaultPosition, parent).wc_str());
}
FilePathList GraphicUserInterface::SelectFiles (wxWindow *parent, const wxString &caption, bool saveMode, bool allowMultiple, const list < pair <wstring, wstring> > &fileExtensions, const DirectoryPath &directory) const
@@ -1614,7 +1619,12 @@ namespace VeraCrypt
}
}
- wxFileDialog dialog (parent, !caption.empty() ? caption : LangString ["OPEN_TITLE"], wstring (directory), wxString(), wildcards, style);
+ /* Avoid OS leaking previously used directory when user choose not to save history */
+ wxString defaultDir = wstring (directory);
+ if (defaultDir.IsEmpty () && !GetPreferences().SaveHistory)
+ defaultDir = wxGetHomeDir ();
+
+ wxFileDialog dialog (parent, !caption.empty() ? caption : LangString ["OPEN_TITLE"], defaultDir, wxString(), wildcards, style);
if (dialog.ShowModal() == wxID_OK)
{