diff options
author | Michi Henning <michi@zeroc.com> | 2007-06-04 03:49:34 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2007-06-04 03:49:34 +0000 |
commit | e73d9bbabb90d581e938ba54ead16debf13ac94b (patch) | |
tree | 1fa25124ba64494f851fc89c6d421a5ce1f9a830 /cppe/src | |
parent | fix member variable declaration in generated header (diff) | |
download | ice-e73d9bbabb90d581e938ba54ead16debf13ac94b.tar.bz2 ice-e73d9bbabb90d581e938ba54ead16debf13ac94b.tar.xz ice-e73d9bbabb90d581e938ba54ead16debf13ac94b.zip |
Bug 1597.
Diffstat (limited to 'cppe/src')
-rw-r--r-- | cppe/src/IceE/ReferenceFactory.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp index d5d191c0dad..c78261d9fa7 100644 --- a/cppe/src/IceE/ReferenceFactory.cpp +++ b/cppe/src/IceE/ReferenceFactory.cpp @@ -576,8 +576,17 @@ IceInternal::ReferenceFactory::createFromProperties(const string& propertyPrefix property = propertyPrefix + ".Router"; if(!properties->getProperty(property).empty()) { - ref = ref->changeRouter( - RouterPrx::uncheckedCast(_communicator->propertyToProxy(property))); + if(propertyPrefix.size() > 7 && propertyPrefix.substr(propertyPrefix.size() - 7, 7) == ".Router") + { + Warning out(_instance->initializationData().logger); + out << "`" << property << "=" << properties->getProperty(property) + << "': cannot set a router on a router; setting ignored"; + } + else + { + ref = ref->changeRouter( + RouterPrx::uncheckedCast(_communicator->propertyToProxy(property))); + } } #endif |