From 96f5bab3a1eded0bc519682564c123be5af7bab6 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 25 May 2015 21:47:20 -0400 Subject: [PATCH] Cancel relatedbox loading if binding disappears --- chrome/content/zotero/bindings/relatedbox.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/bindings/relatedbox.xml b/chrome/content/zotero/bindings/relatedbox.xml index 076513ddd..7a645a385 100644 --- a/chrome/content/zotero/bindings/relatedbox.xml +++ b/chrome/content/zotero/bindings/relatedbox.xml @@ -78,10 +78,12 @@ var r = ""; if (this.item) { - yield this.item.loadRelations(); + yield this.item.loadRelations() + .tap(() => Zotero.Promise.check(this.item)); var related = this.item.relatedItems; if (related) { - related = yield Zotero.Items.getAsync(related); + related = yield Zotero.Items.getAsync(related) + .tap(() => Zotero.Promise.check(this.item)); for(var i = 0; i < related.length; i++) { r = r + related[i].getDisplayTitle() + ", "; } @@ -106,10 +108,12 @@ rows.removeChild(rows.firstChild); if (this.item) { - yield this.item.loadRelations(); + yield this.item.loadRelations() + .tap(() => Zotero.Promise.check(this.item)); var related = this.item.relatedItems; if (related) { - related = yield Zotero.Items.getAsync(related); + related = yield Zotero.Items.getAsync(related) + .tap(() => Zotero.Promise.check(this.item)); for (var i = 0; i < related.length; i++) { var icon= document.createElement("image"); icon.className = "zotero-box-icon";