private void updateContentsSize() {
// Update child widget dimensions
if (client != null) {
- client.handleComponentRelativeSize(layout.getWidget());
- client.runDescendentsLayout((HasWidgets) layout.getWidget());
+ Widget childWidget = layout.getWidget();
+ client.handleComponentRelativeSize(childWidget);
+ if (childWidget instanceof HasWidgets) {
+ client.runDescendentsLayout((HasWidgets) childWidget);
+ }
}
LayoutManager layoutManager = LayoutManager.get(client);
--- /dev/null
+package com.vaadin.tests.components.ui;\r
+\r
+import com.vaadin.server.VaadinRequest;\r
+import com.vaadin.tests.components.AbstractTestUI;\r
+import com.vaadin.ui.Label;\r
+import com.vaadin.ui.Window;\r
+\r
+public class WindowWithLabel extends AbstractTestUI {\r
+\r
+ @Override\r
+ protected void setup(VaadinRequest request) {\r
+ setContent(new Label("UI"));\r
+ Window window = new Window("A window");\r
+ addWindow(window);\r
+ }\r
+\r
+ @Override\r
+ protected String getTestDescription() {\r
+ return "Resize the window. It should work.";\r
+ }\r
+\r
+ @Override\r
+ protected Integer getTicketNumber() {\r
+ return 10375;\r
+ }\r
+\r
+}\r