From d68113f3229d0ec8c84f77dcac3b64a3fd7e03e4 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 24 Sep 2012 17:29:21 +0200 Subject: soffice.bin: add a hack to detect calls to xmlCleanupParser xmlCleanupParser frees libxml2's global variables, accessing those later on leads to hard to debug crashes. Because libxml2 is used indirectly by lots of different components, nobody is allwed to free its globals. Change-Id: I05381d3dada217db44e96445d6f6d63014f57241 --- unoxml/source/rdf/librdf_repository.cxx | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'unoxml') diff --git a/unoxml/source/rdf/librdf_repository.cxx b/unoxml/source/rdf/librdf_repository.cxx index 733b3132e0c4..1e98ee5a6fcf 100644 --- a/unoxml/source/rdf/librdf_repository.cxx +++ b/unoxml/source/rdf/librdf_repository.cxx @@ -127,7 +127,13 @@ bool isInternalContext(librdf_node *i_pNode) throw () // so they need to be wrapped to be usable with boost::shared_ptr. static void safe_librdf_free_world(librdf_world *const world) { +#if 1 + (void)world; // leak it +#else + // disable this for now: it calls xmlCleanupParser, which now aborts + // (see desktop/source/app/main.c) if (world) { librdf_free_world(world); } +#endif } static void safe_librdf_free_model(librdf_model *const model) { -- cgit