From 4749f12de9c9e36130649a6597501e65627e9c5e Mon Sep 17 00:00:00 2001 From: Patrick Simpson Date: Wed, 22 Mar 2017 13:44:52 +0100 Subject: [PATCH] Exception while loading shared folder tree nodes is now logged. Any nodes whose parents are missing are silently ignored. --- .../AcaciaZPushPlugin/Controls/KTreeNodeLoader.cs | 1 + .../ZPush/API/SharedFolders/SharedFoldersAPI.cs | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KTreeNodeLoader.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KTreeNodeLoader.cs index 6ba4688..5022ade 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KTreeNodeLoader.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KTreeNodeLoader.cs @@ -107,6 +107,7 @@ namespace Acacia.Controls }, true) .OnError(error => { + Logger.Instance.Error(this, "Exception while fetching child nodes: {0}", error); // On error return an empty node list State = LoadingState.Error; return new KTreeNodes(node); diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/API/SharedFolders/SharedFoldersAPI.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/API/SharedFolders/SharedFoldersAPI.cs index 57f7295..71e9562 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/API/SharedFolders/SharedFoldersAPI.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/API/SharedFolders/SharedFoldersAPI.cs @@ -96,10 +96,13 @@ namespace Acacia.ZPush.API.SharedFolders rootNodes.Add(folder); parent = null; } + else if (!foldersByServerId.ContainsKey(folder.ParentId)) + { + // Ignore the node if the parent is not available + continue; + } else { - if (!foldersByServerId.ContainsKey(folder.ParentId)) - throw new Exception("Missing parent folder: " + folder.ParentId); parent = foldersByServerId[folder.ParentId]; parent.Children.Add(folder); }