From 4beecc086a16dd7bb64bd718257d527fa464f2f6 Mon Sep 17 00:00:00 2001 From: Julian Viereck Date: Mon, 25 Apr 2011 01:06:42 +0200 Subject: [PATCH] Fix bug in TextLayer.updateLines --- lib/ace/edit_session.js | 4 ++++ lib/ace/layer/text.js | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index c1005e7b..17f95525 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -1498,6 +1498,10 @@ var EditSession = function(text, mode) { return []; } + this.containsRow = function(row) { + return row >= this.start.row && row <= this.end.row; + } + this.walk = function(callback, endRow, endColumn) { var lastEnd = 0, folds = this.folds, diff --git a/lib/ace/layer/text.js b/lib/ace/layer/text.js index 548ef4bd..60bc771a 100644 --- a/lib/ace/layer/text.js +++ b/lib/ace/layer/text.js @@ -190,8 +190,15 @@ var Text = function(parentEl) { lineElementsIdx = 0; for (var row = config.firstRow; row < first; row++) { + var foldLine = this.session.getFoldLine(row); + if (foldLine) { + if (foldLine.containsRow(first)) { + break; + } else { + row = foldLine.end.row; + } + } lineElementsIdx ++; - row = this.session.getRowFoldEnd(row); } for (var i=first; i<=last; i++) {