summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2009-02-23 10:58:26 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2009-02-23 10:58:26 +0000
commit0640eb048a65e5d7723ceeece686ca949abab066 (patch)
treeacc58e138a51d26fb51ca3ba70ffd21380555692
parent34407602fcffc73301f11bf696e13dcdd04c918e (diff)
downloadvaadin-framework-0640eb048a65e5d7723ceeece686ca949abab066.tar.gz
vaadin-framework-0640eb048a65e5d7723ceeece686ca949abab066.zip
fixes #2607 (a client side validity check)
svn changeset:6938/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java5
-rw-r--r--src/com/itmill/toolkit/ui/Table.java8
2 files changed, 5 insertions, 8 deletions
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) {