diff options
-rw-r--r-- | client/src/main/java/com/vaadin/client/widget/escalator/ScrollbarBundle.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/client/src/main/java/com/vaadin/client/widget/escalator/ScrollbarBundle.java b/client/src/main/java/com/vaadin/client/widget/escalator/ScrollbarBundle.java index 8042e1b264..122c302f36 100644 --- a/client/src/main/java/com/vaadin/client/widget/escalator/ScrollbarBundle.java +++ b/client/src/main/java/com/vaadin/client/widget/escalator/ScrollbarBundle.java @@ -790,9 +790,16 @@ public abstract class ScrollbarBundle implements DeferredWorker { if (!isLocked()) { scrollPos = newScrollPos; scrollEventFirer.scheduleEvent(); - } else if (scrollPos != newScrollPos) { - // we need to actually undo the setting of the scroll. - internalSetScrollPos(toInt32(scrollPos)); + } else { + if (scrollPos != newScrollPos) { + // we need to actually undo the setting of the scroll. + internalSetScrollPos(toInt32(scrollPos)); + } + if (scrollInProgress != null) { + // cancel the in-progress indicator + scrollInProgress.removeHandler(); + scrollInProgress = null; + } } } |