diff --git a/ComicRack/Changes.txt b/ComicRack/Changes.txt index abc12f5..805c01e 100644 --- a/ComicRack/Changes.txt +++ b/ComicRack/Changes.txt @@ -59,6 +59,7 @@ Community Edition Build 0.9.180: * BUGFIX: Made getting a list of book from a folder a lot faster when there was incompatible files. The slowdown was related to attempting to read the files as a WebComic. Previously the program would attempt to use all it's known provider on each and every file until it found a working one, regardless of the type. Now Webcomics will NEED to be a CBW. * BUGFIX: Enabling fullscreen didn't minimize the gui when reader was in it's own window, with option to do it at the same time enabled. * BUGFIX: Fixed files not being deleted if they contained Unicode characters. +* BUGFIX: Increase performance (dragging, searching lists & opening edit smart lists dialog) when a lot of smart list existed. ^^^^^^^^^^ Community Edition ^^^^^^^^^^ diff --git a/ComicRack/Dialogs/SmartListDialog.cs b/ComicRack/Dialogs/SmartListDialog.cs index f72257f..b648729 100644 --- a/ComicRack/Dialogs/SmartListDialog.cs +++ b/ComicRack/Dialogs/SmartListDialog.cs @@ -459,9 +459,9 @@ private void ShowNotes(bool show) private void FillBaseCombo(ComicSmartListItem scl) { cbBaseList.Items.Clear(); - RecursionCache.Items.Remove(EditId); + //RecursionCache.Items.Remove(EditId); - foreach (ComicListItem item in Library.ComicLists.GetItems()) + foreach (ComicListItem item in Library.ComicLists.GetItems()) { Guid guid = ((item is ComicLibraryListItem) ? Guid.Empty : item.Id); if (!item.RecursionTest(EditId)) diff --git a/ComicRack/Views/ComicListLibraryBrowser.cs b/ComicRack/Views/ComicListLibraryBrowser.cs index b0044af..5f0b72d 100644 --- a/ComicRack/Views/ComicListLibraryBrowser.cs +++ b/ComicRack/Views/ComicListLibraryBrowser.cs @@ -1110,7 +1110,8 @@ private void tvQueries_DragDrop(object sender, DragEventArgs e) } ComicListItemCollection comicListItemCollection = ((dragNode.Parent == null) ? Library.ComicLists : ((ComicListItemFolder)dragNode.Parent.Tag).Items); ComicListItem comicListItem = dragNode.Tag as ComicListItem; - if (e.Effect == DragDropEffects.Copy && comicListItem is ShareableComicListItem) + RecursionCache.Items.Remove(comicListItem.Id); + if (e.Effect == DragDropEffects.Copy && comicListItem is ShareableComicListItem) { comicListItem = ((ICloneable)(ShareableComicListItem)comicListItem).Clone(); }