Otherwise opening a Grid editor can cause ApplicationConnection to get
stuck in 'active' state even if no actual scroll position processing is
ongoing, which in turn causes TestBench delays when it tries to wait
until ApplicationConnection indicates that everything necessary has been
processed.
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;
+ }
}
}