diff --git a/chrome/content/zotero/bindings/merge.xml b/chrome/content/zotero/bindings/merge.xml index 92eb08290..69a32cda1 100644 --- a/chrome/content/zotero/bindings/merge.xml +++ b/chrome/content/zotero/bindings/merge.xml @@ -92,7 +92,7 @@ // TODO: Make sure object is the correct type // Check for note or attachment if not already set - if (this._leftpane.ref == 'deleted' && this.type == 'item') { + if (this._leftpane.ref == 'deleted' && val instanceof Zotero.Item) { this.type = this._getTypeFromItem(val); } diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js index ebfb31199..47666c020 100644 --- a/chrome/content/zotero/xpcom/data/item.js +++ b/chrome/content/zotero/xpcom/data/item.js @@ -3667,6 +3667,7 @@ Zotero.Item.prototype.clone = function(includePrimary, newItem, unsaved) { Zotero.DB.beginTransaction(); + // TODO: get rid of serialize() call var obj = this.serialize(); var itemTypeID = this.itemTypeID; @@ -4146,7 +4147,7 @@ Zotero.Item.prototype.serialize = function(mode) { if (!this._primaryDataLoaded) { this.loadPrimaryData(true); } - if (!this._itemDataLoaded) { + if (!this._itemDataLoaded && this.id) { this._loadItemData(); } }