diff options
-rw-r--r-- | client/src/com/vaadin/client/ui/grid/Escalator.java | 8 | ||||
-rw-r--r-- | client/src/com/vaadin/client/ui/grid/ScrollbarBundle.java | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/client/src/com/vaadin/client/ui/grid/Escalator.java b/client/src/com/vaadin/client/ui/grid/Escalator.java index 887db8a758..3ef8dcda31 100644 --- a/client/src/com/vaadin/client/ui/grid/Escalator.java +++ b/client/src/com/vaadin/client/ui/grid/Escalator.java @@ -567,15 +567,17 @@ public class Escalator extends Widget { var hScrollElem = hScroll.@com.vaadin.client.ui.grid.ScrollbarBundle::getElement()(); return $entry(function(e) { + var target = e.target || e.srcElement; // IE8 uses e.scrElement + // in case the scroll event was native (i.e. scrollbars were dragged, or // the scrollTop/Left was manually modified), the bundles have old cache // values. We need to make sure that the caches are kept up to date. - if (e.target === vScrollElem) { + if (target === vScrollElem) { vScroll.@com.vaadin.client.ui.grid.ScrollbarBundle::updateScrollPosFromDom()(); - } else if (e.target === hScrollElem) { + } else if (target === hScrollElem) { hScroll.@com.vaadin.client.ui.grid.ScrollbarBundle::updateScrollPosFromDom()(); } else { - $wnd.console.error("unexpected scroll target: "+e.target); + $wnd.console.error("unexpected scroll target: "+target); } esc.@com.vaadin.client.ui.grid.Escalator::onScroll()(); diff --git a/client/src/com/vaadin/client/ui/grid/ScrollbarBundle.java b/client/src/com/vaadin/client/ui/grid/ScrollbarBundle.java index 922daefa5f..dc26d91fa2 100644 --- a/client/src/com/vaadin/client/ui/grid/ScrollbarBundle.java +++ b/client/src/com/vaadin/client/ui/grid/ScrollbarBundle.java @@ -277,7 +277,10 @@ abstract class ScrollbarBundle { * @return the new scroll position in pixels */ public final int getScrollPos() { - assert internalGetScrollPos() == scrollPos : "calculated scroll position did not match the actual scroll position"; + assert internalGetScrollPos() == scrollPos : "calculated scroll position (" + + scrollPos + + ") did not match the DOM element scroll position (" + + internalGetScrollPos() + ")"; return scrollPos; } |