From 49f70390add1655fc5eb846e7700d00cb57b5048 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Mon, 7 Dec 2020 16:40:15 +0200 Subject: Better error handling trying to enable HTML5 DnD for mobile from thread (#12170) - Informative error message - Reset back to disabled state when enabling fails - Incorrect usage also detectable using non-mobile devices Fixes #12152 --- server/src/main/java/com/vaadin/ui/UI.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'server/src/main/java/com') diff --git a/server/src/main/java/com/vaadin/ui/UI.java b/server/src/main/java/com/vaadin/ui/UI.java index 5891addca4..7430c04bb9 100644 --- a/server/src/main/java/com/vaadin/ui/UI.java +++ b/server/src/main/java/com/vaadin/ui/UI.java @@ -1987,6 +1987,13 @@ public abstract class UI extends AbstractSingleComponentContainer getState().enableMobileHTML5DnD = enabled; if (isMobileHtml5DndEnabled()) { + if (VaadinService.getCurrentRequest() == null) { + getState().enableMobileHTML5DnD = false; + throw new IllegalStateException("HTML5 DnD cannot be " + + "enabled for mobile devices when current " + + "VaadinRequest cannot be accessed. Call this " + + "method from init(VaadinRequest) to ensure access."); + } loadMobileHtml5DndPolyfill(); } } -- cgit v1.2.3