From 75ff05148d5a07c397d11b8bfbc92833be8726ea Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 3 Nov 2019 11:06:31 -0500 Subject: [PATCH] Fix autoHideResults not working --- ext/bg/js/settings-popup-preview.js | 1 - ext/fg/js/frontend.js | 31 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ext/bg/js/settings-popup-preview.js b/ext/bg/js/settings-popup-preview.js index b7b3acc5..7d641c46 100644 --- a/ext/bg/js/settings-popup-preview.js +++ b/ext/bg/js/settings-popup-preview.js @@ -158,7 +158,6 @@ class SettingsPopupPreview { const range = document.createRange(); range.selectNode(textNode); const source = new TextSourceRange(range, range.toString(), null); - if (source === null) { return; } try { await this.frontend.searchSource(source, 'script'); diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index 94c318d7..802221be 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -336,17 +336,16 @@ class Frontend { } const textSource = docRangeFromPoint(x, y, this.options); - if ( - textSource === null || - (this.textSourceCurrent !== null && this.textSourceCurrent.equals(textSource)) - ) { + if (this.textSourceCurrent !== null && this.textSourceCurrent.equals(textSource)) { return; } try { - return await this.searchSource(textSource, cause); + await this.searchSource(textSource, cause); } finally { - textSource.cleanup(); + if (textSource !== null) { + textSource.cleanup(); + } } } catch (e) { this.onError(e); @@ -358,17 +357,19 @@ class Frontend { try { this.pendingLookup = true; - results = ( - await this.findTerms(textSource) || - await this.findKanji(textSource) - ); - if (results !== null) { - const focus = (cause === 'mouse'); - this.showContent(textSource, focus, results.definitions, results.type); + if (textSource !== null) { + results = ( + await this.findTerms(textSource) || + await this.findKanji(textSource) + ); + if (results !== null) { + const focus = (cause === 'mouse'); + this.showContent(textSource, focus, results.definitions, results.type); + } } } catch (e) { if (window.yomichan_orphaned) { - if (textSource && this.options.scanning.modifier !== 'none') { + if (textSource !== null && this.options.scanning.modifier !== 'none') { this.lastShowPromise = this.popup.showContent( textSource.getRect(), textSource.getWritingMode(), @@ -386,7 +387,7 @@ class Frontend { this.pendingLookup = false; } - return results !== null; + return results; } showContent(textSource, focus, definitions, type) {