From 8eb9737be5334fba3e6ff346ca770e4f6d2937e4 Mon Sep 17 00:00:00 2001 From: and3md Date: Sat, 6 May 2017 22:26:07 +0200 Subject: [PATCH] Fix FileDialog for saving in non-existing filenames issue #321 --- src/dlangui/dialogs/filedlg.d | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dlangui/dialogs/filedlg.d b/src/dlangui/dialogs/filedlg.d index 23e05119..c738e841 100644 --- a/src/dlangui/dialogs/filedlg.d +++ b/src/dlangui/dialogs/filedlg.d @@ -480,7 +480,7 @@ class FileDialog : Dialog, CustomGridCellAdapter { auto baseFilename = toUTF8(_edFilename.text); _filename = _path ~ dirSeparator ~ baseFilename; - if (action.id != StandardAction.OpenDirectory && isDir(_filename)) { + if (action.id != StandardAction.OpenDirectory && exists(_filename) && isDir(_filename)) { auto row = _fileList.row(); onItemActivated(row); return true; @@ -488,9 +488,9 @@ class FileDialog : Dialog, CustomGridCellAdapter { Action result = _action; result.stringParam = _filename; // success if either selected dir & has to open dir or if selected file - if (action.id == StandardAction.OpenDirectory && isDir(_filename) || + if (action.id == StandardAction.OpenDirectory && exists(_filename) && isDir(_filename) || action.id == StandardAction.Save && !(_flags & FileDialogFlag.FileMustExist) || - isFile(_filename)) { + exists(_filename) && isFile(_filename)) { close(result); return true; }