diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx index 108e08f..e20ddad 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 ef5982e..96544ca 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,14 @@ void RootAccess::commitChanges() Broadcaster bc; { osl::MutexGuard g(*lock_); + + OSL_ENSURE(tempHACK, "fucktastic!, seriously busted lifecycles\n"); + if (!tempHACK) + { + fprintf(stderr, "fucktastic\n"); + return; + } + checkLocalizedPropertyAccess(); int finalizedLayer; Modifications globalMods;