diff options
author | Johannes Dahlström <johannes.dahlstrom@vaadin.com> | 2012-06-25 11:47:49 +0000 |
---|---|---|
committer | Johannes Dahlström <johannes.dahlstrom@vaadin.com> | 2012-06-25 11:47:49 +0000 |
commit | 556730ab5ae0daefbbc2e077463c68d2081eaec3 (patch) | |
tree | 33d0775e87bd04638cf5bbf7b2499665a04b5ae8 | |
parent | 1401003a10eb328995b92351e9f716fce705dfc8 (diff) | |
download | vaadin-framework-556730ab5ae0daefbbc2e077463c68d2081eaec3.tar.gz vaadin-framework-556730ab5ae0daefbbc2e077463c68d2081eaec3.zip |
#8957 Ensure non-negative width
svn changeset:23973/svn branch:6.8
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java index 24097c0949..fa7621e512 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java @@ -3500,20 +3500,15 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler, DOM.setStyleAttribute(captionContainer, "width", ""); setWidth(""); } else { - /* * Reduce width with one pixel for the right border since the * footers does not have any spacers between them. */ - int borderWidths = 1; + final int borderWidths = 1; // Set the container width (check for negative value) - if (w - borderWidths >= 0) { - captionContainer.getStyle().setPropertyPx("width", - w - borderWidths); - } else { - captionContainer.getStyle().setPropertyPx("width", 0); - } + captionContainer.getStyle().setPropertyPx("width", + Math.max(w - borderWidths, 0)); /* * if we already have tBody, set the header width properly, if @@ -3521,21 +3516,16 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler, * unless TD width is not explicitly set. */ if (scrollBody != null) { - /* - * Reduce with one since footer does not have any spacers, - * instead a 1 pixel border. - */ int tdWidth = width + scrollBody.getCellExtraWidth() - borderWidths; - setWidth(tdWidth + "px"); + setWidth(Math.max(tdWidth, 0) + "px"); } else { Scheduler.get().scheduleDeferred(new Command() { public void execute() { - int borderWidths = 1; int tdWidth = width + scrollBody.getCellExtraWidth() - borderWidths; - setWidth(tdWidth + "px"); + setWidth(Math.max(tdWidth, 0) + "px"); } }); } |