Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/Xwt
diff options
context:
space:
mode:
authorVsevolod Kukol <sevoku@microsoft.com>2019-07-25 19:37:46 +0300
committerVsevolod Kukol <sevoku@microsoft.com>2019-07-25 19:37:46 +0300
commit1c858223d1a7b1f9e1725c9f81c15fbe04114f4d (patch)
tree0dd7a3d7d25d9743ccae98498a39b33f57debece /Xwt
parent0d2b0bd208a5467ed3f8875c7530f463423c8431 (diff)
Do not store any values if a FileDialog got canceled/closed
Fixes #817
Diffstat (limited to 'Xwt')
-rw-r--r--Xwt/Xwt/FileDialog.cs17
1 files changed, 8 insertions, 9 deletions
diff --git a/Xwt/Xwt/FileDialog.cs b/Xwt/Xwt/FileDialog.cs
index aed2f753..4fe0c3a5 100644
--- a/Xwt/Xwt/FileDialog.cs
+++ b/Xwt/Xwt/FileDialog.cs
@@ -173,6 +173,7 @@ namespace Xwt
/// </summary>
public bool Run (WindowFrame parentWindow)
{
+ bool result = false;
try {
running = true;
Backend.Initialize (filters, multiselect, initialFileName);
@@ -182,20 +183,18 @@ namespace Xwt
Backend.ActiveFilter = activeFilter;
if (!string.IsNullOrEmpty (title))
Backend.Title = title;
- bool result = false;
BackendHost.ToolkitEngine.InvokePlatformCode (delegate {
result = Backend.Run ((IWindowFrameBackend)Toolkit.GetBackend (parentWindow));
});
return result;
} finally {
- activeFilter = Backend.ActiveFilter;
- fileName = Backend.FileName;
- fileNames = Backend.FileNames;
- if (fileName != string.Empty)
- {
- currentFolder = Backend.CurrentFolder;
- }
- running = false;
+ if (result) {
+ activeFilter = Backend.ActiveFilter;
+ fileName = Backend.FileName;
+ fileNames = Backend.FileNames;
+ currentFolder = Backend.CurrentFolder;
+ }
+ running = false;
Backend.Cleanup ();
}
}