From c7e84981662f5dc4c16de4096da0a1b426c5a6c3 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 4 Jan 2017 09:44:58 -0800 Subject: [PATCH] Clear row and return spans before generating row --- src/xterm.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/xterm.js b/src/xterm.js index ebfd5f20..3d8bd835 100644 --- a/src/xterm.js +++ b/src/xterm.js @@ -1078,8 +1078,6 @@ Terminal.prototype.refresh = function(start, end, queue) { end = this.rows.length - 1; } - var currentElement; - for (; y <= end; y++) { row = y + this.ydisp; @@ -1099,6 +1097,14 @@ Terminal.prototype.refresh = function(start, end, queue) { var documentFragment = document.createDocumentFragment(); var innerHTML = ''; + var currentElement; + + // Return the row's spans to the pool + while (this.children[y].children.length) { + var child = this.children[y].children[0]; + this.children[y].removeChild(child); + this.spanElementObjectPool.release(child); + } for (; i < width; i++) { data = line[i][0]; @@ -1263,13 +1269,6 @@ Terminal.prototype.refresh = function(start, end, queue) { //this.children[y].innerHTML = out; //this.children[y].innerHTML = ''; - // Return spans to the pool - while (this.children[y].children.length) { - var child = this.children[y].children[0]; - this.children[y].removeChild(child); - this.spanElementObjectPool.release(child); - } - this.children[y].appendChild(documentFragment) }