diff options
author | Tim Allison <tallison@apache.org> | 2020-03-31 18:16:09 +0000 |
---|---|---|
committer | Tim Allison <tallison@apache.org> | 2020-03-31 18:16:09 +0000 |
commit | 597672166046577a2afd59987004d96ff9d75f18 (patch) | |
tree | 5d902e495cee19dbe4ae2ca5a5a5fcb46677cc31 | |
parent | 65990027e149b09c9c131387763d5b06dbe3d26e (diff) | |
download | poi-597672166046577a2afd59987004d96ff9d75f18.tar.gz poi-597672166046577a2afd59987004d96ff9d75f18.zip |
64261 -- fix handling of drop down list when items are selected
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1875956 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java | 2 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java | 7 | ||||
-rw-r--r-- | test-data/spreadsheet/64261.xls | bin | 0 -> 26624 bytes |
3 files changed, 7 insertions, 2 deletions
diff --git a/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java b/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java index e2f7e045a8..1c17f48f4f 100644 --- a/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java +++ b/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java @@ -165,7 +165,7 @@ public class LbsDataSubRecord extends SubRecord { // From [MS-XLS].pdf 2.5.147 FtLbsData: // This array MUST exist if and only if the wListType field is not equal to 0. - if(((_flags >> 4) & 0x2) != 0) { + if(((_flags >> 4) & 0x1) + (_flags >> 5 & 0x1) != 0) { _bsels = new boolean[_cLines]; for(int i=0; i < _cLines; i++) { _bsels[i] = in.readByte() == 1; diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 9bcde6ed37..cd2bfe32bc 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -2891,7 +2891,10 @@ public final class TestBugs extends BaseTestBugzillaIssues { public void test63940() throws IOException { simpleTest("SUBSTITUTE.xls"); } - + @Test + public void test64261() throws IOException { + simpleTest("64261.xls"); + } // a simple test which rewrites the file once and evaluates its formulas private void simpleTest(String fileName) throws IOException { simpleTest(fileName, null); @@ -2932,4 +2935,6 @@ public final class TestBugs extends BaseTestBugzillaIssues { HSSFFormulaEvaluator.setupEnvironment( files.toArray(new String[0]), evals.toArray(new HSSFFormulaEvaluator[0]) ); evals.get(0).evaluateAll(); } + + } diff --git a/test-data/spreadsheet/64261.xls b/test-data/spreadsheet/64261.xls Binary files differnew file mode 100644 index 0000000000..83d9465476 --- /dev/null +++ b/test-data/spreadsheet/64261.xls |