diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-04-11 23:29:01 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-04-11 23:41:51 -0400 |
commit | b5800fac1d57b80772823bd8bc288a6cebe82e6f (patch) | |
tree | b228cc7a8517fdb2311d8a7527719da9b65b49dd /editeng/qa/unit | |
parent | 3b887c8d3fef676e0037a4f3381f6a491ec0da4f (diff) |
We need to delete EditDLL before de-initialize vcl to avoid crash.
Without manually releasing the EditDLL singleton instance, it gets
deleted *after* the cppunit does its cleanup, which de-initializes VCL.
The problem is, when the EditDLL instance is destroyed, its member
GlobalEditData instance deletes the OutputDevice instance that it owns,
which in turn accesses font caches in VCL. But by the time we reach
that point, VCL is already de-initialized, hence the problem.
Diffstat (limited to 'editeng/qa/unit')
-rw-r--r-- | editeng/qa/unit/core-test.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx index b8e31119f9eb..49a6efba3070 100644 --- a/editeng/qa/unit/core-test.cxx +++ b/editeng/qa/unit/core-test.cxx @@ -74,6 +74,7 @@ void Test::setUp() void Test::tearDown() { SfxItemPool::Free(mpItemPool); + EditDLL::Release(); test::BootstrapFixture::tearDown(); } @@ -83,8 +84,8 @@ void Test::testConstruction() EditEngine aEngine(mpItemPool); // TODO: This currently causes segfault in vcl. -// rtl::OUString aParaText = "I am Edit Engine."; -// aEngine.SetText(aParaText); + rtl::OUString aParaText = "I am Edit Engine."; + aEngine.SetText(aParaText); } CPPUNIT_TEST_SUITE_REGISTRATION(Test); |