diff --git a/web/source/osk/banner.ts b/web/source/osk/banner.ts index 8bd2b83356..e71a2e8f32 100644 --- a/web/source/osk/banner.ts +++ b/web/source/osk/banner.ts @@ -399,7 +399,7 @@ namespace com.keyman.osk { * @param outputTarget * @returns true */ - suggestionApplied(outputTarget: text.OutputTarget): boolean { + suggestionApplied: (outputTarget: text.OutputTarget) => boolean = function(this: SuggestionBanner, outputTarget: text.OutputTarget) { const keyman = com.keyman.singleton; // Tell the keyboard that the current layer has not changed keyman.core.keyboardProcessor.newLayerStore.set(''); @@ -411,7 +411,7 @@ namespace com.keyman.osk { ?.finalize(keyman.core.keyboardProcessor, outputTarget, true); return true; - }; + }.bind(this); postConfigure() { let keyman = com.keyman.singleton; @@ -427,6 +427,7 @@ namespace com.keyman.osk { keyman.core.languageProcessor.removeListener('suggestionsready', manager.updateSuggestions); keyman.core.languageProcessor.removeListener('tryaccept', manager.tryAccept); keyman.core.languageProcessor.removeListener('tryrevert', manager.tryRevert); + keyman.core.languageProcessor.removeListener('suggestionapplied', this.suggestionApplied); } }