summaryrefslogtreecommitdiff
path: root/desktop/source/deployment/misc
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-04-24 19:16:06 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-04-24 20:22:49 +0200
commit2d2b19dea1ab401b1b4971ff5b12b87bb11fd666 (patch)
treea13afa06cc3e153353077180c973024c39ea5f8e /desktop/source/deployment/misc
parentde562138eabd3ee3ecab28e5d1348a3fee7301e0 (diff)
Force ExtensionManager resync when the implementation changes
...as checking the lastsynchronized time-stamps can give wrong results if new and old impl use same user config and old impl is started once more after new impl is installed, in which case per-user data of bundled exts of new impl would not be regenerated, leading to inconsistencies.
Diffstat (limited to 'desktop/source/deployment/misc')
-rw-r--r--desktop/source/deployment/misc/dp_misc.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx
index eb4e6dc4720d..9ed579fbb97c 100644
--- a/desktop/source/deployment/misc/dp_misc.cxx
+++ b/desktop/source/deployment/misc/dp_misc.cxx
@@ -590,7 +590,8 @@ void TRACE(::rtl::OString const & sText)
#endif
}
-void syncRepositories(Reference<ucb::XCommandEnvironment> const & xCmdEnv)
+void syncRepositories(
+ bool force, Reference<ucb::XCommandEnvironment> const & xCmdEnv)
{
OUString sDisable;
::rtl::Bootstrap::get( OUSTR( "DISABLE_EXTENSION_SYNCHRONIZATION" ), sDisable, OUString() );
@@ -601,7 +602,8 @@ void syncRepositories(Reference<ucb::XCommandEnvironment> const & xCmdEnv)
//synchronize shared before bundled otherewise there are
//more revoke and registration calls.
sal_Bool bModified = false;
- if (needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("shared")))
+ if (force
+ || needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("shared")))
|| needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("bundled"))))
{
xExtensionManager =