summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-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 5c5e730ef591..b53803c4e425 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -241,6 +241,7 @@ public:
void testTdf100458();
void testTdf100709XLSX();
void testTdf97598XLSX();
+ void testTdf111974XLSM();
CPPUNIT_TEST_SUITE(ScFiltersTest);
CPPUNIT_TEST(testBooleanFormatXLSX);
@@ -359,6 +360,7 @@ public:
CPPUNIT_TEST(testTdf100458);
CPPUNIT_TEST(testTdf100709XLSX);
CPPUNIT_TEST(testTdf97598XLSX);
+ CPPUNIT_TEST(testTdf111974XLSM);
CPPUNIT_TEST_SUITE_END();
@@ -3778,6 +3780,14 @@ void ScFiltersTest::testColumnStyle2XLSX()
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 53ae02fc26b9..37e196aae1d5 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -452,7 +452,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();