diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-20 08:56:09 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-20 08:56:09 +0200 |
commit | 10ad43c854b2e6bb1ae701e97e7f7cb571f6fb81 (patch) | |
tree | 182c4c9b1e829b24e8e1a5134ce91e342e50460a | |
parent | d45b44bc8d96f949a7dbf27ed143ee98431aa074 (diff) | |
download | uxp-10ad43c854b2e6bb1ae701e97e7f7cb571f6fb81.tar.gz |
moebius#144: Launch command: basilisk "-migration -p" (throws an error)
https://github.com/MoonchildProductions/moebius/pull/144
-rw-r--r-- | toolkit/components/xulstore/XULStore.js | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/toolkit/components/xulstore/XULStore.js b/toolkit/components/xulstore/XULStore.js index c2721327c2..8b5bc13131 100644 --- a/toolkit/components/xulstore/XULStore.js +++ b/toolkit/components/xulstore/XULStore.js @@ -63,11 +63,21 @@ XULStore.prototype = { load: function () { Services.obs.addObserver(this, "profile-before-change", true); - this._storeFile = Services.dirsvc.get("ProfD", Ci.nsIFile); + let profileType = "ProfD"; + try { + this._storeFile = Services.dirsvc.get(profileType, Ci.nsIFile); + } catch (ex) { + try { + profileType = "ProfDS"; + this._storeFile = Services.dirsvc.get(profileType, Ci.nsIFile); + } catch (ex) { + throw new Error("Can't find profile directory."); + } + } this._storeFile.append(STOREDB_FILENAME); if (!this._storeFile.exists()) { - this.import(); + this.import(profileType); } else { this.readFile(); } @@ -90,8 +100,8 @@ XULStore.prototype = { Services.console.logStringMessage("XULStore: " + message); }, - import: function() { - let localStoreFile = Services.dirsvc.get("ProfD", Ci.nsIFile); + import(profileType) { + let localStoreFile = Services.dirsvc.get(profileType || "ProfD", Ci.nsIFile); localStoreFile.append("localstore.rdf"); if (!localStoreFile.exists()) { |