diff options
Diffstat (limited to 'desktop/source/deployment/registry/package/dp_package.cxx')
-rw-r--r-- | desktop/source/deployment/registry/package/dp_package.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index 70a7ed72304a..cfe5be59dad0 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -443,12 +443,19 @@ BackendImpl::PackageImpl::isRegistered_( AbortChannel::Chain chain( abortChannel, xSubAbortChannel ); beans::Optional< beans::Ambiguous<sal_Bool> > option( xPackage->isRegistered( xSubAbortChannel, xCmdEnv ) ); + + //present = true if at least one bundle item has this value. + //reg = true if all bundle items have an option value (option.IsPresent == 1) + //and all have value of true (option.Value.Value == true) + //If not, then the bundle has the status of not registered and ambiguous. if (option.IsPresent) { beans::Ambiguous<sal_Bool> const & status = option.Value; if (present) { + //we never come here in the first iteration if (reg != (status.Value != sal_False)) { + ambig = true; reg = false; break; @@ -456,6 +463,7 @@ BackendImpl::PackageImpl::isRegistered_( } else { + //we always come here in the first iteration reg = status.Value; present = true; } |