diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/WidgetUtil.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/client/src/com/vaadin/client/WidgetUtil.java b/client/src/com/vaadin/client/WidgetUtil.java index fca6fbccbc..7d4f613e4e 100644 --- a/client/src/com/vaadin/client/WidgetUtil.java +++ b/client/src/com/vaadin/client/WidgetUtil.java @@ -553,10 +553,11 @@ public class WidgetUtil { double reqWidth = getRequiredWidthBoundingClientRectDouble(element); if (BrowserInfo.get().isIE() && !BrowserInfo.get().isIE8()) { double csWidth = getRequiredWidthComputedStyleDouble(element); - if (csWidth > reqWidth && csWidth < (reqWidth + 1)) { + if (csWidth > reqWidth && csWidth <= (reqWidth + 1)) { // IE9 rounds reqHeight to integers BUT sometimes reports wrong // csHeight it seems, so we only use csHeight if it is within a // rounding error + return csWidth; } } @@ -602,10 +603,14 @@ public class WidgetUtil { double reqHeight = getRequiredHeightBoundingClientRectDouble(element); if (BrowserInfo.get().isIE() && !BrowserInfo.get().isIE8()) { double csHeight = getRequiredHeightComputedStyleDouble(element); - if (csHeight > reqHeight && csHeight < (reqHeight + 1)) { + if (csHeight > reqHeight && csHeight <= (reqHeight + 1)) { // IE9 rounds reqHeight to integers BUT sometimes reports wrong // csHeight it seems, so we only use csHeight if it is within a // rounding error + + // Although sometimes it also happens that IE9 returns an + // incorrectly rounded down requiredHeight and a computed height + // which is exactly one larger, hence the "<="... return csHeight; } } |