Skip to content

Commit 38ead9d

Browse files
authored
Merge pull request #179 from salmanmkc/fix/textview-dispose-listener-leak
Fix TextView.dispose() failing to remove synccomplete listener
2 parents a546487 + d6df765 commit 38ead9d

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/ui/components/TextView.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ export class TextView extends View<TextViewEventMap> {
146146
/** The total number of lines after text wrapping. */
147147
lineCount = 0;
148148

149+
private _onSyncCompleteBound = this.onSyncComplete.bind(this);
149150
private _initializeTextCalled = false;
150151
private _text = 'TextView';
151152
set text(text) {
@@ -372,7 +373,7 @@ export class TextView extends View<TextViewEventMap> {
372373
this.textObj.addEventListener(
373374
// @ts-expect-error Missing type in Troika
374375
'synccomplete',
375-
this.onSyncComplete.bind(this)
376+
this._onSyncCompleteBound
376377
);
377378

378379
if (this.imageOverlay) {
@@ -413,7 +414,7 @@ export class TextView extends View<TextViewEventMap> {
413414
this.textObj.removeEventListener(
414415
// @ts-expect-error Missing type in Troika
415416
'synccomplete',
416-
this.onSyncComplete.bind(this)
417+
this._onSyncCompleteBound
417418
);
418419
}
419420
super.dispose();

0 commit comments

Comments
 (0)