diff --git a/app/src/main/java/eu/faircode/email/WebViewEx.java b/app/src/main/java/eu/faircode/email/WebViewEx.java index 4e08c21437..6f55f2f071 100644 --- a/app/src/main/java/eu/faircode/email/WebViewEx.java +++ b/app/src/main/java/eu/faircode/email/WebViewEx.java @@ -316,18 +316,20 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC intercept = (yoff > 0 || dy >= 0) && (yoff < bottom || dy <= 0); } - int xrange = computeHorizontalScrollRange(); - int xextend = computeHorizontalScrollExtent(); - boolean canScrollHorizontal = (xrange > xextend); - if (canScrollHorizontal) { - int right = xrange - xextend; - int xoff = computeHorizontalScrollOffset(); - int ldx = xoff - lastXoff; - float dx = lastX - event.getX(); - intercept = (xoff > 0 || dx >= 0) && - (xoff < right || dx <= 0) && - (Math.signum(dx) == Math.signum(ldx)); - lastXoff = xoff; + if (!intercept) { + int xrange = computeHorizontalScrollRange(); + int xextend = computeHorizontalScrollExtent(); + boolean canScrollHorizontal = (xrange > xextend); + if (canScrollHorizontal) { + int right = xrange - xextend; + int xoff = computeHorizontalScrollOffset(); + int ldx = xoff - lastXoff; + float dx = lastX - event.getX(); + intercept = (xoff > 0 || dx >= 0) && + (xoff < right || dx <= 0) && + (Math.signum(dx) == Math.signum(ldx)); + lastXoff = xoff; + } } } getParent().requestDisallowInterceptTouchEvent(intercept || event.getPointerCount() > 1);