From abf5f7492f192bbb2e49ea9c14cc88a24d9bf860 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 14 Jul 2013 08:22:15 +0400 Subject: [PATCH] recompute longestLine when vScroll changes --- lib/ace/virtual_renderer.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index 88f8d79a..e8c9c402 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -925,6 +925,16 @@ var VirtualRenderer = function(container, theme) { offset = this.scrollTop - firstRowScreen * lineHeight; + var changes = 0; + // Horizontal scrollbar visibility may have changed, which changes + // the client height of the scroller + if (hScrollChanged || vScrollChanged) { + changes = this.$updateCachedSize(true, this.gutterWidth, this.$size.width, this.$size.height); + this._signal("scrollbarVisibilityChanged"); + if (vScrollChanged) + longestLine = this.$getLongestLine(); + } + this.layerConfig = { width : longestLine, padding : this.$padding, @@ -947,13 +957,6 @@ var VirtualRenderer = function(container, theme) { this.content.style.width = longestLine + 2 * this.$padding + "px"; this.content.style.height = minHeight + "px"; - var changes = 0; - // Horizontal scrollbar visibility may have changed, which changes - // the client height of the scroller - if (hScrollChanged || vScrollChanged) { - changes = this.$updateCachedSize(true, this.gutterWidth, this.$size.width, this.$size.height); - this._signal("scrollbarVisibilityChanged"); - } return changes; };