[mapguide-commits] r6115 - trunk/Tools/Maestro/Maestro.Base/UI
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Sep 5 07:58:32 EDT 2011
Author: jng
Date: 2011-09-05 04:58:32 -0700 (Mon, 05 Sep 2011)
New Revision: 6115
Modified:
trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs
Log:
#1795: First crack, instead of iterating over the main loop store the root connections in a temp list, then yield return from that.
Modified: trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs 2011-09-05 11:41:03 UTC (rev 6114)
+++ trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs 2011-09-05 11:58:32 UTC (rev 6115)
@@ -445,8 +445,13 @@
{
if (treePath.IsEmpty())
{
+ _rootNodes.Clear();
+ var roots = new List<RepositoryItem>();
foreach (var connName in _connManager.GetConnectionNames())
{
+ if (_rootNodes.ContainsKey(connName))
+ continue;
+
var conn = _connManager.GetConnection(connName);
var list = conn.ResourceService.GetRepositoryResources("Library://", 0);
@@ -460,9 +465,17 @@
connNode.Name = connName;
connNode.Model = this;
- _rootNodes[connName] = connNode;
- yield return connNode;
+ if (!_rootNodes.ContainsKey(connName))
+ {
+ _rootNodes[connName] = connNode;
+ roots.Add(connNode);
+ }
}
+
+ foreach (var r in roots)
+ {
+ yield return r;
+ }
}
else
{
More information about the mapguide-commits
mailing list