summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2011-11-04 08:13:49 +0000
committerArtur Signell <artur.signell@itmill.com>2011-11-04 08:13:49 +0000
commit35877d090e082346758235ff16341525f6f42aec (patch)
treef8e48a2ce3d69c2b5e5b36dabde16d2bdbb2b1e8 /src
parenta1c0cb9658aa5c86ae2f1cd92054b2cee5d482db (diff)
downloadvaadin-framework-35877d090e082346758235ff16341525f6f42aec.tar.gz
vaadin-framework-35877d090e082346758235ff16341525f6f42aec.zip
#7839 Avoid discarding rows when updating rows as row indexes have not been updated yet causing wrong rows to be removed
svn changeset:21894/svn branch:6.7
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
index 1588936c3c..959b92cffa 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
@@ -1431,8 +1431,6 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
int count = partialRowUpdates.getIntAttribute("numurows");
scrollBody.unlinkRows(firstRowIx, count);
scrollBody.insertRows(partialRowUpdates, firstRowIx, count);
-
- discardRowsOutsideCacheWindow();
}
/**
@@ -1460,14 +1458,18 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
+ scrollBody.getLastRendered() + " rendered!");
}
}
- discardCacheRows(firstRowToKeep, lastRowToKeep);
+ discardRowsOutsideOf(firstRowToKeep, lastRowToKeep);
scrollBody.fixSpacers();
scrollBody.restoreRowVisibility();
}
- private void discardCacheRows(int optimalFirstRow, int optimalLastRow) {
+ private void discardRowsOutsideOf(int optimalFirstRow, int optimalLastRow) {
+ /*
+ * firstDiscarded and lastDiscarded are only calculated for debug
+ * purposes
+ */
int firstDiscarded = -1, lastDiscarded = -1;
boolean cont = true;
while (cont && scrollBody.getLastRendered() > optimalFirstRow