diff options
-rw-r--r-- | server/src/com/vaadin/server/AbstractCommunicationManager.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/server/src/com/vaadin/server/AbstractCommunicationManager.java b/server/src/com/vaadin/server/AbstractCommunicationManager.java index 32800506a3..5832b144ec 100644 --- a/server/src/com/vaadin/server/AbstractCommunicationManager.java +++ b/server/src/com/vaadin/server/AbstractCommunicationManager.java @@ -2464,9 +2464,11 @@ public abstract class AbstractCommunicationManager implements Serializable { public void handleBrowserDetailsRequest(WrappedRequest request, WrappedResponse response, VaadinSession session) throws IOException { - assert UI.getCurrent() == null; + session.getLock().lock(); try { + assert UI.getCurrent() == null; + CombinedRequest combinedRequest = new CombinedRequest(request); response.setContentType("application/json; charset=UTF-8"); @@ -2495,6 +2497,8 @@ public abstract class AbstractCommunicationManager implements Serializable { } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); + } finally { + session.getLock().unlock(); } } |