summaryrefslogtreecommitdiff
path: root/configmgr
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2010-01-22 13:44:09 +0100
committersb <sb@openoffice.org>2010-01-22 13:44:09 +0100
commit3b93777f4c7db1d4c3acedd6201aac7bc5956b68 (patch)
tree7b7429a2a39473dcb28a576f388ba76b0822513b /configmgr
parent354016167ef7369d5ffd81c016cf37ea130f7333 (diff)
sb111: #i101955# avoid circular calls between failing RootAccess::getNode and RootAccess::queryInterface
Diffstat (limited to 'configmgr')
-rw-r--r--configmgr/source/rootaccess.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/configmgr/source/rootaccess.cxx b/configmgr/source/rootaccess.cxx
index ed0742dcf06f..2b3f770576cc 100644
--- a/configmgr/source/rootaccess.cxx
+++ b/configmgr/source/rootaccess.cxx
@@ -145,7 +145,12 @@ rtl::Reference< Node > RootAccess::getNode() {
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cannot find ")) +
pathRepresentation_),
- static_cast< cppu::OWeakObject * >(this));
+ 0);
+ // RootAccess::queryInterface indirectly calls
+ // RootAccess::getNode, so if this RootAccess were passed out in
+ // RuntimeException.Context, client code that called
+ // queryInterface on it would cause trouble; therefore,
+ // RuntimeException.Context is left null here
}
OSL_ASSERT(!path_.empty());
name_ = path_.back();