Skip to content

Commit c0306d2

Browse files
jungmsvanteschubert
authored andcommitted
Fix #418: Prevent NPE in OdfTable#getRowByIndex
1 parent 5569625 commit c0306d2

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTable.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1709,8 +1709,8 @@ public OdfTableColumn getColumnByIndex(int index) {
17091709
return null;
17101710
}
17111711

1712-
private OdfTableRow getHeaderRowByIndex(TableTableHeaderRowsElement headers, int nIndex) {
1713-
int result = 0;
1712+
private OdfTableRow getHeaderRowByIndex(TableTableHeaderRowsElement headers, int nIndex, int beginIndex) {
1713+
int result = beginIndex;
17141714
OdfTableRow row = null;
17151715
for (Node n : new DomNodeList(headers.getChildNodes())) {
17161716
if (n instanceof TableTableRowElement) {
@@ -1760,7 +1760,7 @@ public OdfTableRow getRowByIndex(int index) {
17601760
OdfTableRow row = null;
17611761
for (Node n : new DomNodeList(mTableElement.getChildNodes())) {
17621762
if (n instanceof TableTableHeaderRowsElement) {
1763-
row = getHeaderRowByIndex((TableTableHeaderRowsElement) n, index);
1763+
row = getHeaderRowByIndex((TableTableHeaderRowsElement) n, index, result);
17641764
if (row != null) {
17651765
return row;
17661766
}

odfdom/src/test/java/org/odftoolkit/odfdom/doc/TableTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,11 @@ public void create2ndTableTab() throws Exception {
149149

150150
mysheet.save(ResourceUtilities.getTestOutputFile(TEST_FILE_SAVE_2TABLES_OUT));
151151
}
152+
153+
@Test
154+
public void testTableWithHeaderRowBetweenTableRows() throws Exception {
155+
OdfDocument odfdoc = OdfDocument.loadDocument(ResourceUtilities.getAbsoluteInputPath("HeaderRowBetweenTableRows.ods"));
156+
OdfTable table = odfdoc.getTableByName("Table1");
157+
table.getRowByIndex(1);
158+
}
152159
}
Binary file not shown.

0 commit comments

Comments
 (0)