do not lose scheduled changes when render is canceled

This commit is contained in:
nightwing 2013-07-23 19:11:17 +04:00
commit 73d8eb5898

View file

@ -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");