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 /cpp/src/Ice/ReferenceFactory.cpp | |
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 'cpp/src/Ice/ReferenceFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ReferenceFactory.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp index f84aff329c6..e296e3e32fc 100644 --- a/cpp/src/Ice/ReferenceFactory.cpp +++ b/cpp/src/Ice/ReferenceFactory.cpp @@ -616,8 +616,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))); + } } property = propertyPrefix + ".PreferSecure"; |