diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs index 7d8e221b..510db7be 100644 --- a/Core/FormBrowser.cs +++ b/Core/FormBrowser.cs @@ -494,7 +494,7 @@ public void OpenProfileImport(){ FormManager.TryFind<FormSettings>()?.Close(); using(DialogSettingsManage dialog = new DialogSettingsManage(plugins, true)){ - if (dialog.ShowDialog() == DialogResult.OK && !dialog.IsRestarting){ + if (!dialog.IsDisposed && dialog.ShowDialog() == DialogResult.OK && !dialog.IsRestarting){ // needs disposal check because the dialog may be closed in constructor BrowserProcessHandler.UpdatePrefs(); FormManager.TryFind<FormPlugins>()?.Close(); plugins.Reload(); // also reloads the browser diff --git a/Core/Other/Settings/Dialogs/DialogSettingsManage.cs b/Core/Other/Settings/Dialogs/DialogSettingsManage.cs index 5b23a468..7b4fc700 100644 --- a/Core/Other/Settings/Dialogs/DialogSettingsManage.cs +++ b/Core/Other/Settings/Dialogs/DialogSettingsManage.cs @@ -36,6 +36,7 @@ private bool SelectedItemsForceRestart{ private State currentState; private ProfileManager importManager; + private bool openImportImmediately; private bool requestedRestartFromConfig; private ProfileManager.Items _selectedItems = ProfileManager.Items.None; @@ -51,6 +52,8 @@ public DialogSettingsManage(PluginManager plugins, bool openImportImmediately = this.checkBoxMap[cbSession] = ProfileManager.Items.Session; this.checkBoxMap[cbPluginData] = ProfileManager.Items.PluginData; + this.openImportImmediately = openImportImmediately; + if (openImportImmediately){ radioImport.Checked = true; btnContinue_Click(null, EventArgs.Empty); @@ -88,6 +91,10 @@ private void btnContinue_Click(object sender, EventArgs e){ Filter = "TweetDuck Profile (*.tdsettings)|*.tdsettings" }){ if (dialog.ShowDialog() != DialogResult.OK){ + if (openImportImmediately){ + Close(); + } + return; }