diff --git a/lib/ace/search.js b/lib/ace/search.js index 2cb6dd85..63f46423 100644 --- a/lib/ace/search.js +++ b/lib/ace/search.js @@ -177,7 +177,12 @@ var Search = function() { while (i < j && ranges[j].end.column > endColumn && ranges[j].end.row == range.end.row) j--; - return ranges.slice(i, j + 1); + + ranges = ranges.slice(i, j + 1); + for (i = 0, j = ranges.length; i < j; i++) { + ranges[i].start.row += range.start.row; + ranges[i].end.row += range.start.row; + } } return ranges; diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index f15afb3d..4dae29bb 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -297,7 +297,7 @@ var VirtualRenderer = function(container, theme) { changes = this.CHANGE_SIZE; size.scrollerHeight = this.scroller.clientHeight; - if (!size.scrollerHeight) { + if (force || !size.scrollerHeight) { size.scrollerHeight = size.height; if (this.$horizScroll) size.scrollerHeight -= this.scrollBar.getWidth(); @@ -322,7 +322,7 @@ var VirtualRenderer = function(container, theme) { size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBar.getWidth()); this.scroller.style.right = this.scrollBar.getWidth() + "px"; - if (this.session.getUseWrapMode() && this.adjustWrapLimit() || force) + if (this.session && this.session.getUseWrapMode() && this.adjustWrapLimit() || force) changes = changes | this.CHANGE_FULL; }