summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/qa/unit/data/xlsm/tdf111974.xlsmbin0 -> 338812 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx10
-rw-r--r--sc/source/filter/oox/workbookfragment.cxx2
3 files changed, 11 insertions, 1 deletions
diff --git a/sc/qa/unit/data/xlsm/tdf111974.xlsm b/sc/qa/unit/data/xlsm/tdf111974.xlsm
new file mode 100644
index 000000000000..bb6ac6d0a2d3
--- /dev/null
+++ b/sc/qa/unit/data/xlsm/tdf111974.xlsm
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 6ba489456805..c619d71232c6 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -240,6 +240,7 @@ public:
void testTdf100709XLSX();
void testTdf97598XLSX();
void testTdf110440XLSX();
+ void testTdf111974XLSM();
CPPUNIT_TEST_SUITE(ScFiltersTest);
CPPUNIT_TEST(testBooleanFormatXLSX);
@@ -361,6 +362,7 @@ public:
CPPUNIT_TEST(testTdf100709XLSX);
CPPUNIT_TEST(testTdf97598XLSX);
CPPUNIT_TEST(testTdf110440XLSX);
+ CPPUNIT_TEST(testTdf111974XLSM);
CPPUNIT_TEST_SUITE_END();
@@ -3784,6 +3786,14 @@ void ScFiltersTest::testTdf110440XLSX()
xDocSh->DoClose();
}
+void ScFiltersTest::testTdf111974XLSM()
+{
+ // Would crash without the fix on loading
+ ScDocShellRef xDocSh = loadDoc("tdf111974.", FORMAT_XLSM);
+ CPPUNIT_ASSERT_MESSAGE("Failed to open doc", xDocSh.is());
+ xDocSh->DoClose();
+}
+
void ScFiltersTest::testBnc762542()
{
ScDocShellRef xDocSh = loadDoc("bnc762542.", FORMAT_XLSX);
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index 72d2985e536f..49343a831b22 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -450,7 +450,7 @@ void WorkbookFragment::finalizeImport()
}
// setup structure sizes for the number of sheets
- getFormulaBuffer().SetSheetCount( aSheetFragments.size() );
+ getFormulaBuffer().SetSheetCount( nWorksheetCount );
// create all database ranges and defined names, in that order
getTables().finalizeImport();