]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merge changes from origin/7.1
authorBuild Agent <build@vaadin.com>
Fri, 21 Mar 2014 08:29:58 +0000 (10:29 +0200)
committerBuild Agent <build@vaadin.com>
Fri, 21 Mar 2014 08:29:59 +0000 (10:29 +0200)
7112abe Preventing premature start of drag due to Chrome move event #13381
7e7b623 reduce frequency of session locking and StreamingProgressEvents (#13155)
7cab7fd Improve error message when reusing UI instance (#13457)
3e53fa6 Fixed "EEE" in DateField's date pattern (#13443)
1881ea8 Fix for width issue of TabSheet (#12805)
396820e Test for streaming reconnect issue (#13435)
2f93186 Eliminate .v-caption memory leak (#13346)
0c7cbc7 Fixes a memory leak on IE8 in LayoutManagerIE8 (#12688)
5441ef0 Merged IntegrationTestRunner into TB3Runner
3545db2 Added User-Agent and Screen Width + Height labels to portlet test.
c5aaf93 Refactored JSR286 portlet test.
52dcbaa Pressing ESC now closes the DateField popup when using month or year resolutions. (#12317)
e45294f Revert "Preventing premature start of drag due to Chrome move event #13381"

Change-Id: I35e119a6e8e68e226487906af35eaa220f3af16f

1  2 
client/src/com/vaadin/client/LayoutManager.java
client/src/com/vaadin/client/ui/VCalendarPanel.java
client/src/com/vaadin/client/ui/VTabsheet.java
client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
server/src/com/vaadin/server/communication/FileUploadHandler.java
server/src/com/vaadin/ui/UI.java

index e688c0606170a8ba6933b74ff9ea5648b629e955,0412cb18825cfb7f4f3c3bf4f939f26a818b400e..b3004e9ad20d2438559b963f5ccba43a495da9fd
@@@ -604,19 -598,23 +604,30 @@@ public abstract class UI extends Abstra
       *            the initialization request
       * @param uiId
       *            the id of the new ui
 +     * @param embedId
 +     *            the embed id of this UI, or <code>null</code> if no id is
 +     *            known
 +     * 
 +     * @see #getUIId()
 +     * @see #getEmbedId()
       */
 -    public void doInit(VaadinRequest request, int uiId) {
 +    public void doInit(VaadinRequest request, int uiId, String embedId) {
          if (this.uiId != -1) {
-             throw new IllegalStateException("UI id has already been defined");
+             String message = "This UI instance is already initialized (as UI id "
+                     + this.uiId
+                     + ") and can therefore not be initialized again (as UI id "
+                     + uiId + "). ";
+             if (getSession() != null
+                     && !getSession().equals(VaadinSession.getCurrent())) {
+                 message += "Furthermore, it is already attached to another VaadinSession. ";
+             }
+             message += "Please make sure you are not accidentally reusing an old UI instance.";
+             throw new IllegalStateException(message);
          }
          this.uiId = uiId;
 +        this.embedId = embedId;
  
          // Actual theme - used for finding CustomLayout templates
          theme = request.getParameter("theme");