Skip to content

Commit 4d9cf56

Browse files
fix(web): remove window resize listener on component destroy (#823)
1 parent c31aa58 commit 4d9cf56

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

web-client/iron-remote-desktop/src/iron-remote-desktop.svelte

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/>
1515

1616
<script lang="ts">
17-
import { onMount } from 'svelte';
17+
import { onDestroy, onMount } from 'svelte';
1818
import { loggingService } from './services/logging.service';
1919
import { RemoteDesktopService } from './services/remote-desktop.service';
2020
import type { ResizeEvent } from './interfaces/ResizeEvent';
@@ -455,6 +455,10 @@
455455
wrapperStyle = `height: ${height}; width: ${width}; overflow: ${overflow}`;
456456
}
457457
458+
const resizeHandler = (_evt: UIEvent) => {
459+
scaleSession(scale);
460+
};
461+
458462
function serverBridgeListeners() {
459463
remoteDesktopService.resizeObservable.subscribe((evt: ResizeEvent) => {
460464
loggingService.info(`Resize canvas to: ${evt.desktopSize.width}x${evt.desktopSize.height}`);
@@ -465,9 +469,7 @@
465469
}
466470
467471
function userInteractionListeners() {
468-
window.addEventListener('resize', (_evt) => {
469-
scaleSession(scale);
470-
});
472+
window.addEventListener('resize', resizeHandler);
471473
472474
remoteDesktopService.scaleObservable.subscribe((s) => {
473475
loggingService.info('Change scale!');
@@ -513,6 +515,10 @@
513515
break;
514516
}
515517
}
518+
519+
onDestroy(() => {
520+
window.removeEventListener('resize', resizeHandler);
521+
});
516522
}
517523
518524
function fullResize() {

0 commit comments

Comments
 (0)