diff options
| -rw-r--r-- | ext/bg/js/yomichan.js | 12 | ||||
| -rw-r--r-- | ext/manifest.json | 2 | 
2 files changed, 9 insertions, 5 deletions
| diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js index 172bb1d3..7be67d01 100644 --- a/ext/bg/js/yomichan.js +++ b/ext/bg/js/yomichan.js @@ -35,19 +35,23 @@ window.yomichan = new class {      }      optionsSet(options) { -        this.options = options; +        // In Firefox, setting options from the options UI somehow carries references +        // to the DOM across to the background page, causing the options object to +        // become a "DeadObject" after the options page is closed. The workaround used +        // here is to create a deep copy of the options object. +        this.options = JSON.parse(JSON.stringify(options)); -        if (!options.general.enable) { +        if (!this.options.general.enable) {              chrome.browserAction.setBadgeBackgroundColor({color: '#d9534f'});              chrome.browserAction.setBadgeText({text: 'off'}); -        } else if (!dictConfigured(options)) { +        } else if (!dictConfigured(this.options)) {              chrome.browserAction.setBadgeBackgroundColor({color: '#f0ad4e'});              chrome.browserAction.setBadgeText({text: '!'});          } else {              chrome.browserAction.setBadgeText({text: ''});          } -        if (options.anki.enable) { +        if (this.options.anki.enable) {              this.anki = new AnkiConnect(this.options.anki.server);          } else {              this.anki = new AnkiNull(); diff --git a/ext/manifest.json b/ext/manifest.json index 5882f684..e6c709dd 100644 --- a/ext/manifest.json +++ b/ext/manifest.json @@ -1,7 +1,7 @@  {      "manifest_version": 2,      "name": "Yomichan", -    "version": "1.1.14", +    "version": "1.1.15",      "description": "Japanese dictionary with Anki integration",      "icons": {"16": "mixed/img/icon16.png", "48": "mixed/img/icon48.png", "128": "mixed/img/icon128.png"}, |