Fix self-reference initialization error

This commit is contained in:
David Sparer
2016-08-09 15:49:52 -06:00
parent f41adec096
commit 9ffdbee400
5 changed files with 8 additions and 9 deletions

View File

@@ -48,6 +48,7 @@ namespace mRemoteNG.App
ParseCommandLineArgs();
IeBrowserEmulation.Register();
GetConnectionIcons();
DefaultConnectionInheritance.Instance.LoadFrom(Settings.Default, (a)=>"InhDefault"+a);
}

View File

@@ -87,7 +87,8 @@ namespace mRemoteNG.Config.Import
var treeNode = ConnectionTreeNode.AddNode(TreeNodeType.Connection, displayName);
var connectionInfo = new ConnectionInfo();
var inheritanceInfo = new ConnectionInfoInheritance(connectionInfo, true);
var inheritanceInfo = new ConnectionInfoInheritance(connectionInfo);
inheritanceInfo.TurnOnInheritanceCompletely();
inheritanceInfo.Description = false;
if (parentTreeNode.Tag is ContainerInfo)
{

View File

@@ -297,15 +297,14 @@ namespace mRemoteNG.Connection
#endregion
public ConnectionInfoInheritance(object parent, bool inheritEverything = false)
public ConnectionInfoInheritance(object parent, bool ignoreDefaultInheritance = false)
{
Parent = parent;
if (inheritEverything)
TurnOnInheritanceCompletely();
if (!ignoreDefaultInheritance)
SetAllValues(DefaultConnectionInheritance.Instance);
}
public ConnectionInfoInheritance Copy()
{
return (ConnectionInfoInheritance)MemberwiseClone();

View File

@@ -7,7 +7,7 @@ namespace mRemoteNG.Connection
{
public static DefaultConnectionInheritance Instance { get; } = new DefaultConnectionInheritance();
private DefaultConnectionInheritance() : base(null)
private DefaultConnectionInheritance() : base(null, true)
{
}

View File

@@ -1620,9 +1620,7 @@ namespace mRemoteNG.UI.Window
InheritanceVisible = false;
DefaultPropertiesVisible = false;
DefaultInheritanceVisible = true;
var defaultInheritance = DefaultConnectionInheritance.Instance;
defaultInheritance.LoadFrom<Settings>(Settings.Default, (a)=>"InhDefault"+a);
SetPropertyGridObject(defaultInheritance);
SetPropertyGridObject(DefaultConnectionInheritance.Instance);
}
}