diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index 9a5bea846..61dd79450 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -3386,15 +3386,21 @@ var ZoteroPane = new function() this.loadURI(url, event, { attachmentID: itemID}); } else { - // Some platforms don't have nsILocalFile.launch, so we just load it and + // Some platforms don't have nsILocalFile.launch, so we just // let the Firefox external helper app window handle it try { file.launch(); } catch (e) { - Zotero.debug("launch() not supported -- passing file to loadURI()"); - var fileURL = attachment.getLocalFileURL(); - this.loadURI(fileURL); + Zotero.debug("launch() not supported -- passing file to loadUrl()"); + + var uri = Components.classes["@mozilla.org/network/standard-url;1"]. + createInstance(Components.interfaces.nsIURI); + uri.spec = attachment.getLocalFileURL(); + + var nsIEPS = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]. + getService(Components.interfaces.nsIExternalProtocolService); + nsIEPS.loadUrl(uri); } } }