From: Matti Tahvonen Date: Mon, 23 Feb 2009 10:58:26 +0000 (+0000) Subject: fixes #2607 (a client side validity check) X-Git-Tag: 6.7.0.beta1~3087 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0640eb048a65e5d7723ceeece686ca949abab066;p=vaadin-framework.git fixes #2607 (a client side validity check) svn changeset:6938/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java index e60e5fa67d..2cd5ce5d62 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java @@ -874,6 +874,11 @@ public class IScrollTable extends FlowPanel implements Table, ScrollListener { if (lastToBeRendered >= totalRows) { lastToBeRendered = totalRows - 1; } + // due Safari 3.1 bug (see #2607), verify reqrows, original + // problem unknown, but this should catch the issue + if (reqFirstRow + reqRows - 1 > lastToBeRendered) { + reqRows = lastToBeRendered - reqFirstRow; + } } client.updateVariable(paintableId, "firstToBeRendered", diff --git a/src/com/itmill/toolkit/ui/Table.java b/src/com/itmill/toolkit/ui/Table.java index 6588fe1fe5..2b528780ca 100644 --- a/src/com/itmill/toolkit/ui/Table.java +++ b/src/com/itmill/toolkit/ui/Table.java @@ -1935,14 +1935,6 @@ public class Table extends AbstractSelect implements Action.Container, int end = cells[0].length; if (reqRowsToPaint != -1) { end = start + reqRowsToPaint; - // Safari 3.1 sends invalid request sometimes. Cannot reproduce this - // with recent webkit. check for valid value and fallback to send - // rows to the end of buffer. - // TODO replace this with a client side workaround (this causes an - // empty screen). See #2607 - if (end > cells[0].length) { - end = cells[0].length; - } } // sanity check if (lastToBeRenderedInClient != -1 && lastToBeRenderedInClient < end) {