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
commit004945943c57d058d2467c883728c283c9448379 (patch)
treef8128066d6e6f04c4f4d205336af5d33efc657ea /configmgr
parentfb73f5b20c5c3ded417cacdafe0a0d5eb3b96497 (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 ed0742dcf0..2b3f770576 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();