From cc61556e53e5ce8f8f2c96f1107abbd235f46436 Mon Sep 17 00:00:00 2001 From: Jaex Date: Sat, 25 Aug 2018 16:13:56 +0300 Subject: [PATCH] Store personal path validation result --- ShareX/Forms/ApplicationSettingsForm.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/ShareX/Forms/ApplicationSettingsForm.cs b/ShareX/Forms/ApplicationSettingsForm.cs index 9116c54b4..8eba14afb 100644 --- a/ShareX/Forms/ApplicationSettingsForm.cs +++ b/ShareX/Forms/ApplicationSettingsForm.cs @@ -42,7 +42,7 @@ public partial class ApplicationSettingsForm : Form { private const int MaxBufferSizePower = 14; - private bool ready; + private bool ready, isValidPersonalPath; private string lastPersonalPath; public ApplicationSettingsForm() @@ -63,14 +63,16 @@ private void SettingsForm_Resize(object sender, EventArgs e) private void SettingsForm_FormClosed(object sender, FormClosedEventArgs e) { - string currentPersonalPath = txtPersonalFolderPath.Text; - - if (!currentPersonalPath.Equals(lastPersonalPath, StringComparison.InvariantCultureIgnoreCase) && - (string.IsNullOrEmpty(currentPersonalPath) || Helpers.IsValidFilePath(currentPersonalPath))) + if (isValidPersonalPath) { - if (Program.WritePersonalPathConfig(currentPersonalPath)) + string currentPersonalPath = txtPersonalFolderPath.Text; + + if (!currentPersonalPath.Equals(lastPersonalPath, StringComparison.InvariantCultureIgnoreCase)) { - MessageBox.Show("You must reopen ShareX for personal folder changes to take effect.", "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information); + if (Program.WritePersonalPathConfig(currentPersonalPath)) + { + MessageBox.Show("You must reopen ShareX for personal folder changes to take effect.", "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information); + } } } } @@ -325,9 +327,11 @@ private void UpdatePersonalFolderPathPreview() } lblPreviewPersonalFolderPath.Text = personalPath; + isValidPersonalPath = true; } catch (Exception e) { + isValidPersonalPath = false; lblPreviewPersonalFolderPath.Text = "Error: " + e.Message; } }