From e0ff3e3ddd440f1871d2aba94cb43db4da29ec42 Mon Sep 17 00:00:00 2001 From: Simon Howe Date: Thu, 10 Dec 2015 18:19:03 +0100 Subject: [PATCH] Cleanup our timeouts. --- client/app/scripts/components/terminal.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/app/scripts/components/terminal.js b/client/app/scripts/components/terminal.js index 479cd708c..0a4901c51 100644 --- a/client/app/scripts/components/terminal.js +++ b/client/app/scripts/components/terminal.js @@ -24,6 +24,7 @@ const MDASH = '\u2014'; const reconnectTimerInterval = 2000; let reconnectTimer = null; +let resizeTimout = null; function ab2str(buf) { return String.fromCharCode.apply(null, new Uint8Array(buf)); @@ -141,7 +142,7 @@ export default class Terminal extends React.Component { window.addEventListener('resize', this.handleResize); - setTimeout(() => { + resizeTimout = setTimeout(() => { this.setState({ pixelPerCol: pixelPerCol, pixelPerRow: pixelPerRow @@ -152,7 +153,12 @@ export default class Terminal extends React.Component { componentWillUnmount() { log('cwu terminal'); + + clearTimeout(resizeTimout); + clearTimeout(reconnectTimer); + window.removeEventListener('resize', this.handleResize); + if (this.term) { log('destroy terminal'); this.term.destroy();