fixed horizontal scroll restore when browser and ACE are out of sync
This commit is contained in:
parent
2ca62bca00
commit
67ba8f5f29
2 changed files with 9 additions and 11 deletions
|
|
@ -11961,7 +11961,7 @@ var VirtualRenderer = function(container, theme) {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$renderChanges = function(changes) {
|
this.$renderChanges = function(changes) {
|
||||||
if (!changes || !this.session)
|
if (!changes || !this.session || !this.container.offsetWidth)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// text, scrolling and resize changes can cause the view port size to change
|
// text, scrolling and resize changes can cause the view port size to change
|
||||||
|
|
@ -11980,7 +11980,7 @@ var VirtualRenderer = function(container, theme) {
|
||||||
// full
|
// full
|
||||||
if (changes & this.CHANGE_FULL) {
|
if (changes & this.CHANGE_FULL) {
|
||||||
this.$textLayer.checkForSizeChanges();
|
this.$textLayer.checkForSizeChanges();
|
||||||
// update scrollbar first to not loose scroll position when gutter calls resize
|
// update scrollbar first to not lose scroll position when gutter calls resize
|
||||||
this.$updateScrollBar();
|
this.$updateScrollBar();
|
||||||
this.$textLayer.update(this.layerConfig);
|
this.$textLayer.update(this.layerConfig);
|
||||||
if (this.showGutter)
|
if (this.showGutter)
|
||||||
|
|
@ -12262,10 +12262,9 @@ var VirtualRenderer = function(container, theme) {
|
||||||
if (scrollLeft <= this.$padding)
|
if (scrollLeft <= this.$padding)
|
||||||
scrollLeft = 0;
|
scrollLeft = 0;
|
||||||
|
|
||||||
if (this.scrollLeft !== scrollLeft) {
|
if (this.scrollLeft !== scrollLeft)
|
||||||
this.$loop.schedule(this.CHANGE_H_SCROLL);
|
|
||||||
this.scrollLeft = scrollLeft;
|
this.scrollLeft = scrollLeft;
|
||||||
}
|
this.$loop.schedule(this.CHANGE_H_SCROLL);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.scrollBy = function(deltaX, deltaY) {
|
this.scrollBy = function(deltaX, deltaY) {
|
||||||
|
|
|
||||||
|
|
@ -409,7 +409,7 @@ var VirtualRenderer = function(container, theme) {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$renderChanges = function(changes) {
|
this.$renderChanges = function(changes) {
|
||||||
if (!changes || !this.session)
|
if (!changes || !this.session || !this.container.offsetWidth)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// text, scrolling and resize changes can cause the view port size to change
|
// text, scrolling and resize changes can cause the view port size to change
|
||||||
|
|
@ -423,12 +423,12 @@ var VirtualRenderer = function(container, theme) {
|
||||||
|
|
||||||
// horizontal scrolling
|
// horizontal scrolling
|
||||||
if (changes & this.CHANGE_H_SCROLL)
|
if (changes & this.CHANGE_H_SCROLL)
|
||||||
this.scroller.scrollLeft = this.scrollLeft
|
this.scroller.scrollLeft = this.scrollLeft;
|
||||||
|
|
||||||
// full
|
// full
|
||||||
if (changes & this.CHANGE_FULL) {
|
if (changes & this.CHANGE_FULL) {
|
||||||
this.$textLayer.checkForSizeChanges();
|
this.$textLayer.checkForSizeChanges();
|
||||||
// update scrollbar first to not loose scroll position when gutter calls resize
|
// update scrollbar first to not lose scroll position when gutter calls resize
|
||||||
this.$updateScrollBar();
|
this.$updateScrollBar();
|
||||||
this.$textLayer.update(this.layerConfig);
|
this.$textLayer.update(this.layerConfig);
|
||||||
if (this.showGutter)
|
if (this.showGutter)
|
||||||
|
|
@ -710,10 +710,9 @@ var VirtualRenderer = function(container, theme) {
|
||||||
if (scrollLeft <= this.$padding)
|
if (scrollLeft <= this.$padding)
|
||||||
scrollLeft = 0;
|
scrollLeft = 0;
|
||||||
|
|
||||||
if (this.scrollLeft !== scrollLeft) {
|
if (this.scrollLeft !== scrollLeft)
|
||||||
this.$loop.schedule(this.CHANGE_H_SCROLL);
|
|
||||||
this.scrollLeft = scrollLeft;
|
this.scrollLeft = scrollLeft;
|
||||||
}
|
this.$loop.schedule(this.CHANGE_H_SCROLL);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.scrollBy = function(deltaX, deltaY) {
|
this.scrollBy = function(deltaX, deltaY) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue