From 7a67b75f719f95ebd4be2c1573b78a45189d25e4 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Sun, 26 Jul 2015 21:24:54 -0400 Subject: [PATCH] Quietly ignore when collection is modified --- .../Editors/FileSystemEditor.cs | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs b/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs index ee37eb62..e6d5c001 100644 --- a/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs +++ b/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs @@ -121,29 +121,36 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors private System.Threading.Thread tIconLoader = null; private void tIconLoader_ThreadStart() { - foreach (AwesomeControls.ListView.ListViewItem lvi in lv.Items) + try { - File file = (lvi.Data as File); - if (file == null) continue; - - byte[] data = file.GetDataAsByteArray(); - if (data == null) continue; - - try + foreach (AwesomeControls.ListView.ListViewItem lvi in lv.Items) { - ObjectModel picture = UniversalEditor.Common.Reflection.GetAvailableObjectModel(data, file.Name, "UniversalEditor.ObjectModels.Multimedia.Picture.PictureObjectModel"); - UniversalEditor.ObjectModels.Multimedia.Picture.PictureObjectModel pic = (picture as UniversalEditor.ObjectModels.Multimedia.Picture.PictureObjectModel); - if (pic != null) + File file = (lvi.Data as File); + if (file == null) continue; + + byte[] data = file.GetDataAsByteArray(); + if (data == null) continue; + + try + { + ObjectModel picture = UniversalEditor.Common.Reflection.GetAvailableObjectModel(data, file.Name, "UniversalEditor.ObjectModels.Multimedia.Picture.PictureObjectModel"); + UniversalEditor.ObjectModels.Multimedia.Picture.PictureObjectModel pic = (picture as UniversalEditor.ObjectModels.Multimedia.Picture.PictureObjectModel); + if (pic != null) + { + // System.Reflection.MethodInfo miToBitmap = picture.GetType().GetMethod("ToBitmap", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance); + Bitmap bitmap = pic.ToBitmap(); // (miToBitmap.Invoke(picture, null) as Bitmap); + if (bitmap != null) lvi.Image = bitmap; + //lv.Invoke(new Action(InvalidateItem), lvi); + } + } + catch { - // System.Reflection.MethodInfo miToBitmap = picture.GetType().GetMethod("ToBitmap", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance); - Bitmap bitmap = pic.ToBitmap(); // (miToBitmap.Invoke(picture, null) as Bitmap); - if (bitmap != null) lvi.Image = bitmap; - //lv.Invoke(new Action(InvalidateItem), lvi); } } - catch - { - } + } + catch + { + // quietly ignore when collection is modified } }