diff --git a/chrome/content/zotero/collectionTree.jsx b/chrome/content/zotero/collectionTree.jsx index 84cee70c0a..6d697e7954 100644 --- a/chrome/content/zotero/collectionTree.jsx +++ b/chrome/content/zotero/collectionTree.jsx @@ -642,7 +642,10 @@ var CollectionTree = class CollectionTree extends LibraryTree { return; } if (type == 'feed' && (action == 'unreadCountUpdated' || action == 'statusChanged')) { - this.tree.invalidate(); + let feedRow = this.getRowIndexByID("L" + ids[0]); + if (feedRow !== false) { + this.tree.invalidateRow(feedRow); + } return; } @@ -747,7 +750,7 @@ var CollectionTree = class CollectionTree extends LibraryTree { // Invalidate parent in case it's become non-empty let parentRow = this.getRowIndexByID("C" + collection.parentID); if (parentRow !== false) { - this._treebox.invalidateRow(parentRow); + this.tree.invalidateRow(parentRow); } } break; @@ -771,6 +774,9 @@ var CollectionTree = class CollectionTree extends LibraryTree { } } break; + + case 'feed': + break; default: await this.reload(); diff --git a/chrome/content/zotero/selectItemsDialog.js b/chrome/content/zotero/selectItemsDialog.js index 0df60fe803..806f92a03d 100644 --- a/chrome/content/zotero/selectItemsDialog.js +++ b/chrome/content/zotero/selectItemsDialog.js @@ -92,6 +92,10 @@ function doUnload() var onCollectionSelected = async function () { if (!collectionsView.selection.count) return; + // Collection not changed + if (itemsView && itemsView.collectionTreeRow && itemsView.collectionTreeRow.id == collectionTreeRow.id) { + return; + } var collectionTreeRow = collectionsView.getRow(collectionsView.selection.focused); collectionTreeRow.setSearch(''); Zotero.Prefs.set('lastViewedFolder', collectionTreeRow.id);