summaryrefslogtreecommitdiff
path: root/configmgr/source/rootaccess.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr/source/rootaccess.cxx')
-rw-r--r--configmgr/source/rootaccess.cxx21
1 files changed, 11 insertions, 10 deletions
diff --git a/configmgr/source/rootaccess.cxx b/configmgr/source/rootaccess.cxx
index 4ae38c43797a..47f2c2a97992 100644
--- a/configmgr/source/rootaccess.cxx
+++ b/configmgr/source/rootaccess.cxx
@@ -77,7 +77,7 @@ RootAccess::RootAccess(
Components & components, rtl::OUString const & pathRepresentation,
rtl::OUString const & locale, bool update):
Access(components), pathRepresentation_(pathRepresentation),
- locale_(locale), update_(update)
+ locale_(locale), update_(update), finalized_(false), alive_(true)
{
lock_ = lock();
}
@@ -130,10 +130,15 @@ bool RootAccess::isUpdate() const {
return update_;
}
+void RootAccess::setAlive(bool b) {
+ alive_ = b;
+}
+
RootAccess::~RootAccess()
{
osl::MutexGuard g(*lock_);
- getComponents().removeRootAccess(this);
+ if (alive_)
+ getComponents().removeRootAccess(this);
}
Path RootAccess::getRelativePath() {
@@ -291,24 +296,20 @@ void RootAccess::removeChangesListener(
}
}
-extern int tempHACK;
-
void RootAccess::commitChanges()
throw (css::lang::WrappedTargetException, css::uno::RuntimeException)
{
#if OSL_DEBUG_LEVEL > 0
OSL_ASSERT(thisIs(IS_UPDATE));
#endif
+ if (!alive_)
+ {
+ return;
+ }
Broadcaster bc;
{
osl::MutexGuard g(*lock_);
- // OSL_ENSURE(tempHACK, "fucktastic!, seriously busted lifecycles\n");
- if (!tempHACK)
- {
- return;
- }
-
checkLocalizedPropertyAccess();
int finalizedLayer;
Modifications globalMods;