aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/vaadin/ui/Table.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/TreeTableNegativeArraySize.html55
2 files changed, 56 insertions, 1 deletions
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java
index 0ededf3c6b..ea825c3975 100644
--- a/src/com/vaadin/ui/Table.java
+++ b/src/com/vaadin/ui/Table.java
@@ -1489,7 +1489,7 @@ public class Table extends AbstractSelect implements Action.Container,
int rowsToAdd = Math.min(rows, totalCachedRows - firstAppendedRow);
rowsToAdd = Math.min(rowsToAdd, totalRows
- (firstAppendedRow + pageBufferFirstIndex));
- if (rowsToAdd == 0) {
+ if (rowsToAdd <= 0) {
return;
}
Object[][] cells = getVisibleCellsNoCache(firstAppendedRow, rowsToAdd,
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/TreeTableNegativeArraySize.html b/tests/testbench/com/vaadin/tests/components/treetable/TreeTableNegativeArraySize.html
new file mode 100644
index 0000000000..f9d44ecd60
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/treetable/TreeTableNegativeArraySize.html
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.treetable.TreeTablePartialUpdates?restartApplication</td>
+ <td></td>
+</tr>
+<!--expand root1-->
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableTreeTablePartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>12,4</td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableTreeTablePartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]</td>
+ <td>189</td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>300</td>
+ <td></td>
+</tr>
+<!--expand root2-->
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableTreeTablePartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[21]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>9,-183</td>
+</tr>
+<!--collapse root2-->
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableTreeTablePartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[21]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>11,-182</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>root1-expanded-scrolled-to-end</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>