diff options
author | sb <sb@openoffice.org> | 2010-01-22 13:44:09 +0100 |
---|---|---|
committer | sb <sb@openoffice.org> | 2010-01-22 13:44:09 +0100 |
commit | 004945943c57d058d2467c883728c283c9448379 (patch) | |
tree | f8128066d6e6f04c4f4d205336af5d33efc657ea /configmgr | |
parent | fb73f5b20c5c3ded417cacdafe0a0d5eb3b96497 (diff) |
sb111: #i101955# avoid circular calls between failing RootAccess::getNode and RootAccess::queryInterface
Diffstat (limited to 'configmgr')
-rw-r--r-- | configmgr/source/rootaccess.cxx | 7 |
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(); |