diff options
Diffstat (limited to 'cpp/src/IceGrid/ServerAdapterI.cpp')
-rw-r--r-- | cpp/src/IceGrid/ServerAdapterI.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/cpp/src/IceGrid/ServerAdapterI.cpp b/cpp/src/IceGrid/ServerAdapterI.cpp index 698491f8ee5..23546a1f847 100644 --- a/cpp/src/IceGrid/ServerAdapterI.cpp +++ b/cpp/src/IceGrid/ServerAdapterI.cpp @@ -189,20 +189,24 @@ ServerAdapterI::setDirectProxy(const Ice::ObjectPrx& prx, const Ice::Current& cu } } + bool updated = _proxy != prx; _proxy = prx; - NodeObserverPrx observer = _node->getObserver(); - if(observer) + if(updated) { - AdapterDynamicInfo info; - info.id = _id; - info.proxy = _proxy; - try - { - observer->updateAdapter(_node->getName(current), info); - } - catch(const Ice::LocalException&) + NodeObserverPrx observer = _node->getObserver(); + if(observer) { + AdapterDynamicInfo info; + info.id = _id; + info.proxy = _proxy; + try + { + observer->updateAdapter(_node->getName(current), info); + } + catch(const Ice::LocalException&) + { + } } } |