From 686d82bcfada9a6d159c7bcc93e2e67cedd69715 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Sat, 25 Jan 2020 03:27:06 -0500 Subject: [PATCH] gracefully handle access denied errors when enumerating data paths --- .../Common/Reflection.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs b/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs index 01c1d23c..5d0b741f 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs +++ b/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs @@ -61,7 +61,7 @@ namespace UniversalEditor.UserInterface.Common private static void InitializeFromXML(ref List listEditors) { - string[] paths = MBS.Framework.UserInterface.Application.EnumerateDataPaths(); + string[] paths = Application.EnumerateDataPaths(); foreach (string path in paths) { if (!System.IO.Directory.Exists(path)) @@ -71,7 +71,16 @@ namespace UniversalEditor.UserInterface.Common if (configurationFileNameFilter == null) configurationFileNameFilter = "*.uexml"; string[] XMLFileNames = null; - XMLFileNames = System.IO.Directory.GetFiles(path, configurationFileNameFilter, System.IO.SearchOption.AllDirectories); + try + { + XMLFileNames = System.IO.Directory.GetFiles(path, configurationFileNameFilter, System.IO.SearchOption.AllDirectories); + } + catch (UnauthorizedAccessException ex) + { + Console.WriteLine("UE: warning: access to data path {0} denied", path); + continue; + } + foreach (string fileName in XMLFileNames) { string basePath = System.IO.Path.GetDirectoryName(fileName);