diff options
author | Artur Signell <artur.signell@itmill.com> | 2009-06-18 09:40:59 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2009-06-18 09:40:59 +0000 |
commit | ac3dfa7a3450a16a270e448cab6cb2ebb3bf66f4 (patch) | |
tree | b13c199d34f480c262d0e85facf14114210c0343 /src | |
parent | 1e154594c9ac7c71f988666e77c2447bc4048d5d (diff) | |
download | vaadin-framework-ac3dfa7a3450a16a270e448cab6cb2ebb3bf66f4.tar.gz vaadin-framework-ac3dfa7a3450a16a270e448cab6cb2ebb3bf66f4.zip |
Test case and fix for #3073 - IE7: Error when rendering a Tab without a caption
svn changeset:8213/svn branch:6.0
Diffstat (limited to 'src')
3 files changed, 35 insertions, 1 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/Util.java b/src/com/vaadin/terminal/gwt/client/Util.java index 82d9d97d70..7861aebb5a 100644 --- a/src/com/vaadin/terminal/gwt/client/Util.java +++ b/src/com/vaadin/terminal/gwt/client/Util.java @@ -632,7 +632,9 @@ public class Util { com.google.gwt.dom.client.Element element) /*-{ var width; - if (element.getBoundingClientRect != null) { + if (element == null) { + width = 0; + } else if (element.getBoundingClientRect != null) { var rect = element.getBoundingClientRect(); width = Math.ceil(rect.right - rect.left); } else { diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java index 6288837ccf..599145f996 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java @@ -81,6 +81,10 @@ public class VTabsheet extends VTabsheetBase { private void fixTextWidth() { Element captionText = getTextElement(); + if (captionText == null) { + return; + } + int captionWidth = Util.getRequiredWidth(captionText); int scrollWidth = captionText.getScrollWidth(); if (scrollWidth > captionWidth) { diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.java b/src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.java new file mode 100644 index 0000000000..d766277b48 --- /dev/null +++ b/src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.java @@ -0,0 +1,28 @@ +package com.vaadin.tests.components.tabsheet; + +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Label; +import com.vaadin.ui.TabSheet; + +public class TabSheetWithoutTabCaption extends TestBase { + + @Override + protected String getDescription() { + return "There should be a tabsheet with one tab visible. The tab has no caption and contains a label saying 'Tab contents'."; + } + + @Override + protected Integer getTicketNumber() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected void setup() { + final TabSheet moduleArea = new TabSheet(); + Label label = new Label("Tab contents"); + moduleArea.addTab(label); + addComponent(moduleArea); + } + +} |