From ec80a5aa70e6df0be239d76831be551a0b61c6bd Mon Sep 17 00:00:00 2001 From: David Sparer Date: Sun, 30 Sep 2018 13:19:35 -0500 Subject: [PATCH] fixed #1117 --- CHANGELOG.TXT | 1 + mRemoteV1/UI/Forms/frmMain.cs | 5 ++++- mRemoteV1/UI/Panels/PanelAdder.cs | 7 +++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 240aa0ead..b2920eb59 100644 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -2,6 +2,7 @@ Fixes: ------ +#1117: Duplicate panel created when "Reconnect on Startup" and "Create Empty Panel" settings enabled #1115: Exception when changing from xml data storage to SQL #1110: Pressing Delete button during connection rename attempts to delete the connection instead of the text #1106: Inheritance does not work when parent has C# default type set diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index 4b89c90f1..7abc9c3d2 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -184,7 +184,10 @@ namespace mRemoteNG.UI.Forms var panelName = !string.IsNullOrEmpty(Settings.Default.StartUpPanelName) ? Settings.Default.StartUpPanelName : Language.strNewPanel; - new PanelAdder().AddPanel(panelName); + + var panelAdder = new PanelAdder(); + if (!panelAdder.DoesPanelExist(panelName)) + panelAdder.AddPanel(panelName); } } diff --git a/mRemoteV1/UI/Panels/PanelAdder.cs b/mRemoteV1/UI/Panels/PanelAdder.cs index 57b90e683..8d69fde58 100644 --- a/mRemoteV1/UI/Panels/PanelAdder.cs +++ b/mRemoteV1/UI/Panels/PanelAdder.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Linq; using System.Windows.Forms; using mRemoteNG.App; using mRemoteNG.Messages; @@ -30,6 +31,12 @@ namespace mRemoteNG.UI.Panels } } + public bool DoesPanelExist(string panelName) + { + return Runtime.WindowList?.OfType().Any(w => w.TabText == panelName) + ?? false; + } + private static void ShowConnectionWindow(ConnectionWindow connectionForm) { connectionForm.Show(FrmMain.Default.pnlDock, DockState.Document);