From 73d8eb5898d6118a8b59f60aa5749412a3aade45 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 23 Jul 2013 19:11:17 +0400 Subject: [PATCH] do not lose scheduled changes when render is canceled --- lib/ace/virtual_renderer.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index 9c1efb3b..c5fff639 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -335,7 +335,7 @@ var VirtualRenderer = function(container, theme) { // }.bind(this), 500) - if (!this.$size.scrollerHeight) + if (!this.$size.scrollerHeight || (!width && !height)) return this.resizing = 0; if (force) @@ -344,7 +344,7 @@ var VirtualRenderer = function(container, theme) { if (force) this.$renderChanges(changes, true); else - this.$loop.schedule(changes); + this.$loop.schedule(changes || this.$changes); if (this.resizing) this.resizing = 0; @@ -730,15 +730,14 @@ var VirtualRenderer = function(container, theme) { }; this.$renderChanges = function(changes, force) { - if ((!this.session || !this.container.offsetWidth) || (!changes && !force)) { - this.$changes |= changes; - return; - } if (this.$changes) { changes |= this.$changes; this.$changes = 0; } - + if ((!this.session || !this.container.offsetWidth) || (!changes && !force)) { + this.$changes |= changes; + return; + } // this.$logChanges(changes); this._signal("beforeRender");