Kaydet (Commit) 7d754a84 authored tarafından Michael Stahl's avatar Michael Stahl

sc: ensure global variables in tests are cleared before shutdown

If the destructors run from exit handlers, they could access already
deleted globals from VCL etc. and crash.

Change-Id: I265046e95998a4384e1ce0f1f205d03c078a40a9
üst 3da82561
...@@ -105,7 +105,10 @@ void ScAnnontationObj::setUp() ...@@ -105,7 +105,10 @@ void ScAnnontationObj::setUp()
void ScAnnontationObj::tearDown() void ScAnnontationObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -63,6 +63,7 @@ void ScAnnotationShapeObj::tearDown() ...@@ -63,6 +63,7 @@ void ScAnnotationShapeObj::tearDown()
{ {
mxField.clear(); mxField.clear();
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
} }
UnoApiTest::tearDown(); UnoApiTest::tearDown();
......
...@@ -89,7 +89,10 @@ void ScAnnontationsObj::setUp() ...@@ -89,7 +89,10 @@ void ScAnnontationsObj::setUp()
void ScAnnontationsObj::tearDown() void ScAnnontationsObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -119,7 +119,10 @@ void ScCellRangeObj::setUp() ...@@ -119,7 +119,10 @@ void ScCellRangeObj::setUp()
void ScCellRangeObj::tearDown() void ScCellRangeObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -78,7 +78,10 @@ void ScDatabaseRangeObj::setUp() ...@@ -78,7 +78,10 @@ void ScDatabaseRangeObj::setUp()
void ScDatabaseRangeObj::tearDown() void ScDatabaseRangeObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -94,7 +94,10 @@ void ScDataPilotFieldObj::setUp() ...@@ -94,7 +94,10 @@ void ScDataPilotFieldObj::setUp()
void ScDataPilotFieldObj::tearDown() void ScDataPilotFieldObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -148,7 +148,10 @@ void ScDataPilotTableObj::setUp() ...@@ -148,7 +148,10 @@ void ScDataPilotTableObj::setUp()
void ScDataPilotTableObj::tearDown() void ScDataPilotTableObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -87,6 +87,7 @@ void ScEditFieldObj_Cell::tearDown() ...@@ -87,6 +87,7 @@ void ScEditFieldObj_Cell::tearDown()
{ {
mxField.clear(); mxField.clear();
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
} }
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
......
...@@ -85,6 +85,7 @@ void ScEditFieldObj_Header::tearDown() ...@@ -85,6 +85,7 @@ void ScEditFieldObj_Header::tearDown()
mxField.clear(); mxField.clear();
mxRightText.clear(); mxRightText.clear();
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
} }
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
......
...@@ -64,7 +64,10 @@ void ScModelObj::setUp() ...@@ -64,7 +64,10 @@ void ScModelObj::setUp()
void ScModelObj::tearDown() void ScModelObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
UnoApiTest::tearDown(); UnoApiTest::tearDown();
} }
......
...@@ -102,7 +102,10 @@ void ScNamedRangeObj::setUp() ...@@ -102,7 +102,10 @@ void ScNamedRangeObj::setUp()
void ScNamedRangeObj::tearDown() void ScNamedRangeObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -80,7 +80,10 @@ void ScNamedRangesObj::setUp() ...@@ -80,7 +80,10 @@ void ScNamedRangesObj::setUp()
void ScNamedRangesObj::tearDown() void ScNamedRangesObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -79,7 +79,10 @@ void ScOutlineObj::setUp() ...@@ -79,7 +79,10 @@ void ScOutlineObj::setUp()
void ScOutlineObj::tearDown() void ScOutlineObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -109,9 +109,15 @@ void ScStyleLoaderObj::tearDown() ...@@ -109,9 +109,15 @@ void ScStyleLoaderObj::tearDown()
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{ {
if (mxSourceComponent.is()) if (mxSourceComponent.is())
{
closeDocument(mxSourceComponent); closeDocument(mxSourceComponent);
mxSourceComponent.clear();
}
if (mxTargetComponent.is()) if (mxTargetComponent.is())
{
closeDocument(mxTargetComponent); closeDocument(mxTargetComponent);
mxTargetComponent.clear();
}
} }
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
...@@ -102,7 +102,10 @@ void ScTableSheetsObj::setUp() ...@@ -102,7 +102,10 @@ void ScTableSheetsObj::setUp()
void ScTableSheetsObj::tearDown() void ScTableSheetsObj::tearDown()
{ {
if (nTest == NUMBER_OF_TESTS) if (nTest == NUMBER_OF_TESTS)
{
closeDocument(mxComponent); closeDocument(mxComponent);
mxComponent.clear();
}
CalcUnoApiTest::tearDown(); CalcUnoApiTest::tearDown();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment