summaryrefslogtreecommitdiff
path: root/cppe/src/IceE/ReferenceFactory.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2007-06-04 03:49:34 +0000
committerMichi Henning <michi@zeroc.com>2007-06-04 03:49:34 +0000
commite73d9bbabb90d581e938ba54ead16debf13ac94b (patch)
tree1fa25124ba64494f851fc89c6d421a5ce1f9a830 /cppe/src/IceE/ReferenceFactory.cpp
parentfix member variable declaration in generated header (diff)
downloadice-e73d9bbabb90d581e938ba54ead16debf13ac94b.tar.bz2
ice-e73d9bbabb90d581e938ba54ead16debf13ac94b.tar.xz
ice-e73d9bbabb90d581e938ba54ead16debf13ac94b.zip
Bug 1597.
Diffstat (limited to 'cppe/src/IceE/ReferenceFactory.cpp')
-rw-r--r--cppe/src/IceE/ReferenceFactory.cpp13
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