summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-12-14 21:46:49 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-12-14 22:01:28 +0100
commit3a9e1e71d9a28b2c6bc96757e629b231d2276d9d (patch)
tree1089ddba6ad4cb3bb1026949a8f8d2cddaa80ce1 /sw
parentda07b237caa815540405e9e4980beb16403ecd30 (diff)
Do not defer ~XMLRedlineImportHelper activity to ~SwXMLImport
At least with one Clang build, executing sw_unoapi test aborts at shutdown of soffice.bin with 20 __cxxabiv1::__cxa_call_unexpected 21 XMLRedlineImportHelper::~XMLRedlineImportHelper 22 XMLRedlineImportHelper::~XMLRedlineImportHelper 23 SwXMLTextImportHelper::~SwXMLTextImportHelper 24 SwXMLTextImportHelper::~SwXMLTextImportHelper 25 UniRefBase::release 26 UniReference<XMLTextImportHelper>::~UniReference 27 UniReference<XMLTextImportHelper>::~UniReference 28 SvXMLImport::~SvXMLImport 29 SwXMLImport::~SwXMLImport 30 SwXMLImport::~SwXMLImport 31 cppu::OWeakObject::release [...] 79 binaryurp::Bridge::dispose [...] 98 desktop::Desktop::DeregisterServices 99 desktop::Desktop::doShutdown 100 desktop::Desktop::Main due to ~XMLRedlineImportHelper calling setPropertyValue on an SwXTextDocument that is !IsValid() and thus throws a RuntimeException. SwXMLImport::endOocument already contains ClearShapeImport with a comment that indicates it is necessary for a similar reason, so add a ClearTextImport that ensures any ~XMLRedlineImportHelper activity is done before the SwXTextDocument becomes invalid, and not only at shutdown of the remote bridge that still holds a (Java) reference to SwXMLImport. Change-Id: I9891879c91bfea79fa9e22691be1826f61fdd70a
Diffstat (limited to 'sw')
-rw-r--r--sw/source/filter/xml/xmlimp.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index 8e79e986430e..240439e2fe96 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -936,6 +936,7 @@ void SwXMLImport::endDocument( void )
// delegate to parent: takes care of error handling
SvXMLImport::endDocument();
+ ClearTextImport();
}