aboutsummaryrefslogtreecommitdiff
path: root/ext/mixed
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2020-09-12 19:36:51 -0400
committerGitHub <noreply@github.com>2020-09-12 19:36:51 -0400
commit9f1753a565a617cfddd861818de12eadd2a11258 (patch)
tree087efbae34f20f69c33ccee3d2a8ef5cac0bbafa /ext/mixed
parentc98aa9ad4751f1c35c164525eaec7e2411b0a5c4 (diff)
Update TextScanner.setEnabled to not reset state if unnecessary (#817)
Diffstat (limited to 'ext/mixed')
-rw-r--r--ext/mixed/js/text-scanner.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/mixed/js/text-scanner.js b/ext/mixed/js/text-scanner.js
index b2a5508c..26c0687b 100644
--- a/ext/mixed/js/text-scanner.js
+++ b/ext/mixed/js/text-scanner.js
@@ -51,6 +51,7 @@ class TextScanner extends EventDispatcher {
this._inputs = [];
this._enabled = false;
+ this._enabledValue = false;
this._eventListeners = new EventListenerCollection();
this._primaryTouchIdentifier = null;
@@ -84,6 +85,9 @@ class TextScanner extends EventDispatcher {
}
setEnabled(enabled) {
+ const value = enabled && this._isPrepared;
+ if (this._enabledValue === value) { return; }
+
this._eventListeners.removeAllEventListeners();
this._primaryTouchIdentifier = null;
this._preventNextContextMenu = false;
@@ -92,8 +96,9 @@ class TextScanner extends EventDispatcher {
this._preventScroll = false;
this._enabled = enabled;
+ this._enabledValue = value;
- if (this._enabled && this._isPrepared) {
+ if (value) {
this._hookEvents();
} else {
this.clearSelection(true);