tdf#129410: sc_subsequent_filters: Add unittest

Change-Id: Ie9bc4086559a53f83af9e2f6a6649c51a1009847
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106153
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/qa/unit/data/ods/tdf129410.ods b/sc/qa/unit/data/ods/tdf129410.ods
new file mode 100644
index 0000000..975593b
--- /dev/null
+++ b/sc/qa/unit/data/ods/tdf129410.ods
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 74a0673..6951639 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -248,6 +248,7 @@ public:
    void testTdf110440XLSX();
    void testTdf132278();
    void testTdf130959();
    void testTdf129410();
    void testTdf131380();
    void testTdf129681();
    void testTdf111974XLSM();
@@ -424,6 +425,7 @@ public:
    CPPUNIT_TEST(testTdf110440XLSX);
    CPPUNIT_TEST(testTdf132278);
    CPPUNIT_TEST(testTdf130959);
    CPPUNIT_TEST(testTdf129410);
    CPPUNIT_TEST(testTdf131380);
    CPPUNIT_TEST(testTdf129681);
    CPPUNIT_TEST(testTdf111974XLSM);
@@ -3689,6 +3691,18 @@ void ScFiltersTest::testTdf130959()
    xDocSh->DoClose();
}

void ScFiltersTest::testTdf129410()
{
    // Would crash without the fix on loading
    ScDocShellRef xDocSh = loadDoc("tdf129410.", FORMAT_ODS);
    CPPUNIT_ASSERT_MESSAGE("Failed to open doc", xDocSh.is());

    ScDocument& rDoc = xDocSh->GetDocument();
    rDoc.CalcAll(); // perform hard re-calculation.

    xDocSh->DoClose();
}

void ScFiltersTest::testTdf131380()
{
    ScDocShellRef xDocSh = loadDoc("tdf131380.", FORMAT_XLSX);