--- src/java/org/apache/poi/hssf/usermodel/HSSFRow.java (revision 1390486) +++ src/java/org/apache/poi/hssf/usermodel/HSSFRow.java (working copy) @@ -490,6 +490,7 @@ { if(height == -1){ row.setHeight((short)(0xFF | 0x8000)); + row.setBadFontHeight(false); } else { row.setBadFontHeight(true); row.setHeight((short) (height * 20)); --- src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java (revision 1390486) +++ src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java (working copy) @@ -132,5 +132,13 @@ row.setHeight((short) -1); assertEquals(row.getHeight(), sheet.getDefaultRowHeight()); assertEquals(row.getRowRecord().getBadFontHeight(), false); + + row.setHeight((short) 123); + assertEquals(row.getHeight(), 123); + assertEquals(row.getRowRecord().getBadFontHeight(), true); + + row.setHeightInPoints(-1); + assertEquals(row.getHeight(), sheet.getDefaultRowHeight()); + assertEquals(row.getRowRecord().getBadFontHeight(), false); } }