Fix crash message not getting locked

This commit is contained in:
Adomas Venčkauskas 2021-04-21 13:04:57 +03:00 committed by Dan Stillman
parent 8ebf1609b6
commit c496b5e367
2 changed files with 7 additions and 3 deletions

View file

@ -318,7 +318,8 @@ var ItemTree = class ItemTree extends LibraryTree {
return this._itemTreeLoadingDeferred.promise;
}
async setItemsPaneMessage(message) {
async setItemsPaneMessage(message, lock=false) {
if (this._locked) return;
if (typeof message == 'string') {
let messageParts = message.split("\n\n");
message = messageParts.map(part => `<p>${part}</p>`).join('');
@ -328,6 +329,7 @@ var ItemTree = class ItemTree extends LibraryTree {
}
const shouldRerender = this._itemsPaneMessage != message;
this._itemsPaneMessage = message;
this._locked = lock;
return shouldRerender && new Promise(resolve => this.forceUpdate(resolve));
}
@ -1159,6 +1161,7 @@ var ItemTree = class ItemTree extends LibraryTree {
}
async changeCollectionTreeRow(collectionTreeRow) {
if (this._locked) return;
Zotero.debug(`itemTree.changeCollectionTreeRow(): ${collectionTreeRow.id}`);
this.selection.selectEventsSuppressed = true;
this.collectionTreeRow = collectionTreeRow;
@ -1627,6 +1630,7 @@ var ItemTree = class ItemTree extends LibraryTree {
}
async setFilter(type, data) {
if (this._locked) return;
switch (type) {
case 'search':
this.collectionTreeRow.setSearch(data);
@ -1637,7 +1641,7 @@ var ItemTree = class ItemTree extends LibraryTree {
default:
throw ('Invalid filter type in setFilter');
}
await this.refreshAndMaintainSelection()
await this.refreshAndMaintainSelection();
};
ensureRowsAreVisible(indices) {

View file

@ -3066,7 +3066,7 @@ var ZoteroPane = new function()
}
if (this.itemsView) {
this.itemsView.setItemsPaneMessage(content);
this.itemsView.setItemsPaneMessage(content, lock);
}
}