diff options
Diffstat (limited to 'ext/mixed/js')
| -rw-r--r-- | ext/mixed/js/display.js | 20 | 
1 files changed, 13 insertions, 7 deletions
| diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index a2707bd0..4620e198 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -84,16 +84,22 @@ class Display {              if (textSource === null) {                  return false;              } -            textSource.setEndOffset(this.options.scanning.length); -            const {definitions, length} = await apiTermsFind(textSource.text()); -            if (definitions.length === 0) { -                return false; -            } +            let definitions, length, sentence; +            try { +                textSource.setEndOffset(this.options.scanning.length); -            textSource.setEndOffset(length); +                ({definitions, length} = await apiTermsFind(textSource.text())); +                if (definitions.length === 0) { +                    return false; +                } -            const sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt); +                textSource.setEndOffset(length); + +                sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt); +            } finally { +                textSource.cleanup(); +            }              const context = {                  source: { |