aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2008-12-01 06:19:17 +0000
committerArtur Signell <artur.signell@itmill.com>2008-12-01 06:19:17 +0000
commit6611eebd41a7a32485e0790a2376c42897d53787 (patch)
tree7b4a8cdd5b3a62e2950efaddf4b71fe463cbc923
parent383e39e4bd5b95ca522a214c73b8acaea9c1c949 (diff)
downloadvaadin-framework-6611eebd41a7a32485e0790a2376c42897d53787.tar.gz
vaadin-framework-6611eebd41a7a32485e0790a2376c42897d53787.zip
Test case and fix for #2245 - SplitPanel without both components cannot be painted
svn changeset:6049/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/tests/tickets/Ticket2245.java17
-rw-r--r--src/com/itmill/toolkit/ui/AbstractComponent.java3
-rw-r--r--src/com/itmill/toolkit/ui/SplitPanel.java8
3 files changed, 25 insertions, 3 deletions
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);
}
}