summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2009-06-18 09:40:59 +0000
committerArtur Signell <artur.signell@itmill.com>2009-06-18 09:40:59 +0000
commitac3dfa7a3450a16a270e448cab6cb2ebb3bf66f4 (patch)
treeb13c199d34f480c262d0e85facf14114210c0343 /src
parent1e154594c9ac7c71f988666e77c2447bc4048d5d (diff)
downloadvaadin-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')
-rw-r--r--src/com/vaadin/terminal/gwt/client/Util.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java4
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.java28
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);
+ }
+
+}