From: Artur Signell Date: Mon, 1 Dec 2008 06:19:17 +0000 (+0000) Subject: Test case and fix for #2245 - SplitPanel without both components cannot be painted X-Git-Tag: 6.7.0.beta1~3691 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6611eebd41a7a32485e0790a2376c42897d53787;p=vaadin-framework.git Test case and fix for #2245 - SplitPanel without both components cannot be painted svn changeset:6049/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket2245.java b/src/com/itmill/toolkit/tests/tickets/Ticket2245.java new file mode 100644 index 0000000000..816a191b20 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket2245.java @@ -0,0 +1,17 @@ +package com.itmill.toolkit.tests.tickets; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.ui.SplitPanel; +import com.itmill.toolkit.ui.Window; + +public class Ticket2245 extends Application { + + @Override + public void init() { + Window main = new Window("The Main Window"); + main.getLayout().setSizeFull(); + setMainWindow(main); + SplitPanel sp = new SplitPanel(SplitPanel.ORIENTATION_VERTICAL); + main.addComponent(sp); + } +} diff --git a/src/com/itmill/toolkit/ui/AbstractComponent.java b/src/com/itmill/toolkit/ui/AbstractComponent.java index 7bcc6fb642..958d597bab 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponent.java +++ b/src/com/itmill/toolkit/ui/AbstractComponent.java @@ -609,7 +609,8 @@ public abstract class AbstractComponent implements Component, MethodEventSource if (isVisible()) { // TODO split this method - if (getApplication().isDebugMode() + if (getApplication() != null + && getApplication().isDebugMode() && !DebugUtilities.validateComponentRelativeSizes(this, false)) { addStyleName("invalidlayout"); diff --git a/src/com/itmill/toolkit/ui/SplitPanel.java b/src/com/itmill/toolkit/ui/SplitPanel.java index 0e51b9fcee..0f03df0f99 100644 --- a/src/com/itmill/toolkit/ui/SplitPanel.java +++ b/src/com/itmill/toolkit/ui/SplitPanel.java @@ -212,12 +212,16 @@ public class SplitPanel extends AbstractLayout { if (firstComponent != null) { firstComponent.paint(target); } else { - (new OrderedLayout()).paint(target); + OrderedLayout temporaryComponent = new OrderedLayout(); + temporaryComponent.setParent(this); + temporaryComponent.paint(target); } if (secondComponent != null) { secondComponent.paint(target); } else { - (new OrderedLayout()).paint(target); + OrderedLayout temporaryComponent = new OrderedLayout(); + temporaryComponent.setParent(this); + temporaryComponent.paint(target); } }