summaryrefslogtreecommitdiffstats
path: root/configmgr/source
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@novell.com>2011-04-21 11:26:34 +0300
committerTor Lillqvist <tlillqvist@novell.com>2011-04-26 11:42:24 +0300
commit48a54070b42c55d53a4c9f2c28271e17c967d170 (patch)
tree46071de04b3db5a5632a300ac74c8df1d1d37507 /configmgr/source
parentUpdate '--disable-python' to disable only Python UNO API. (diff)
downloadcore-48a54070b42c55d53a4c9f2c28271e17c967d170.tar.gz
core-48a54070b42c55d53a4c9f2c28271e17c967d170.zip
Stopgap fixes for the crash on exit, fdo#36301
Hacks just intended as debugging aids, suggested by caolan. But as this does prevent the crash, I removed the debugging printfs and assertions, and commit as we don't have any proper fix anyway.
Diffstat (limited to 'configmgr/source')
-rw-r--r--configmgr/source/components.cxx5
-rw-r--r--configmgr/source/rootaccess.cxx9
2 files changed, 14 insertions, 0 deletions
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 108e08fa7a12..e20ddad2eb45 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -510,12 +510,16 @@ css::beans::Optional< css::uno::Any > Components::getExternalValue(
return value;
}
+int tempHACK = 0;
+
Components::Components(
css::uno::Reference< css::uno::XComponentContext > const & context):
context_(context)
{
lock_ = lock();
+ tempHACK = 1;
+
OSL_ASSERT(context.is());
RTL_LOGFILE_TRACE_AUTHOR("configmgr", "sb", "begin parsing");
parseXcsXcuLayer(
@@ -594,6 +598,7 @@ Components::Components(
Components::~Components()
{
flushModifications();
+ tempHACK = 0;
}
void Components::parseFileLeniently(
diff --git a/configmgr/source/rootaccess.cxx b/configmgr/source/rootaccess.cxx
index ef5982e3a56d..90e5675b35a3 100644
--- a/configmgr/source/rootaccess.cxx
+++ b/configmgr/source/rootaccess.cxx
@@ -284,6 +284,8 @@ void RootAccess::removeChangesListener(
}
}
+extern int tempHACK;
+
void RootAccess::commitChanges()
throw (css::lang::WrappedTargetException, css::uno::RuntimeException)
{
@@ -291,6 +293,13 @@ void RootAccess::commitChanges()
Broadcaster bc;
{
osl::MutexGuard g(*lock_);
+
+ // OSL_ENSURE(tempHACK, "fucktastic!, seriously busted lifecycles\n");
+ if (!tempHACK)
+ {
+ return;
+ }
+
checkLocalizedPropertyAccess();
int finalizedLayer;
Modifications globalMods;