diff options
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/frontend.js | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index 897c7b73..5e2ef529 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -319,19 +319,27 @@ class Frontend { } const textSource = docRangeFromPoint(x, y, this.options); - return await this.searchSource(textSource, cause); + if (textSource === null) { + return; + } + + try { + return await this.searchSource(textSource, cause); + } finally { + textSource.cleanup(); + } } catch (e) { this.onError(e); } } async searchSource(textSource, cause) { - let hideResults = textSource === null; + let hideResults = false; let searched = false; let success = false; try { - if (!hideResults && (!this.textSourceLast || !this.textSourceLast.equals(textSource))) { + if (!this.textSourceLast || !this.textSourceLast.equals(textSource)) { searched = true; this.pendingLookup = true; const focus = (cause === 'mouse'); @@ -351,9 +359,6 @@ class Frontend { this.onError(e); } } finally { - if (textSource !== null) { - textSource.cleanup(); - } if (hideResults && this.options.scanning.autoHideResults) { this.searchClear(true); } |