From 643c29cfdb2c5c50b3b6ddd29ac90761d1e777c1 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Tue, 29 Oct 2019 12:59:27 +0200 Subject: Added 1px tolerance to ScrollbarBundle's internal sanity check. (#11777) * Added 1px tolerance to ScrollbarBundle's internal sanity check. Requiring exact match can cause this check to fail when the browser is zoomed since rounding is involved. This can in turn block some features like opening of Grid Editor from working until some more scrolling happens and the minute inconsistency is fixed. Can be tested manually using GridEditorUI, depending on the environment different amounts of zooming may be required for the problem to manifest. Fixes #11672 --- .../java/com/vaadin/client/widget/escalator/ScrollbarBundle.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'client/src') 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 d0ae71e4d4..8042e1b264 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 @@ -587,10 +587,12 @@ public abstract class ScrollbarBundle implements DeferredWorker { * @return the new scroll position in pixels */ public final double getScrollPos() { - assert internalGetScrollPos() == toInt32( - scrollPos) : "calculated scroll position (" + scrollPos + int internalScrollPos = internalGetScrollPos(); + assert Math.abs(internalScrollPos + - toInt32(scrollPos)) <= 1 : "calculated scroll position (" + + scrollPos + ") did not match the DOM element scroll position (" - + internalGetScrollPos() + ")"; + + internalScrollPos + ")"; return scrollPos; } -- cgit v1.2.3