diff options
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 15 |
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; } |