summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Proxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r--cpp/src/Ice/Proxy.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index f0cc77ca80e..642e3a7f651 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -1369,7 +1369,14 @@ IceDelegateD::Ice::Object::__initCurrent(Current& current, const string& op, Ope
current.facet = __reference->getFacet();
current.operation = op;
current.mode = mode;
- if(context == 0)
+ if(context != 0)
+ {
+ //
+ // Explicit context
+ //
+ current.ctx = *context;
+ }
+ else
{
//
// Implicit context
@@ -1385,13 +1392,9 @@ IceDelegateD::Ice::Object::__initCurrent(Current& current, const string& op, Ope
}
else
{
- implicitContext->write(prxContext, current.ctx);
+ implicitContext->combine(prxContext, current.ctx);
}
}
- else
- {
- current.ctx = *context;
- }
current.requestId = -1;
}