summaryrefslogtreecommitdiff
path: root/cpp/src/slice2objc
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2017-07-06 00:18:03 +0200
committerBenoit Foucher <benoit@zeroc.com>2017-07-06 00:18:03 +0200
commit54d8f3fb0d3d53f851051980f1bc941c4e39a60f (patch)
tree0d8259f0cd48b3ba0a3792556821aa41d6f718a7 /cpp/src/slice2objc
parentFixed ICE-8223 - renamed cloneImpl to _iceCloneImpl (diff)
downloadice-54d8f3fb0d3d53f851051980f1bc941c4e39a60f.tar.bz2
ice-54d8f3fb0d3d53f851051980f1bc941c4e39a60f.tar.xz
ice-54d8f3fb0d3d53f851051980f1bc941c4e39a60f.zip
Added Ice::UserException::ice_getSlicedData and Ice::UnkownSlicedValue::ice_id methods
Diffstat (limited to 'cpp/src/slice2objc')
-rw-r--r--cpp/src/slice2objc/Gen.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpp/src/slice2objc/Gen.cpp b/cpp/src/slice2objc/Gen.cpp
index 3aba530c16b..6e34a182f54 100644
--- a/cpp/src/slice2objc/Gen.cpp
+++ b/cpp/src/slice2objc/Gen.cpp
@@ -1157,7 +1157,7 @@ Slice::Gen::TypesVisitor::visitClassDefEnd(const ClassDefPtr& p)
{
_M << nl << "-(id<ICESlicedData>) ice_getSlicedData";
_M << sb;
- _M << nl << "return iceSlicedData_;";
+ _M << nl << "return ICE_AUTORELEASE(ICE_RETAIN(iceSlicedData_));";
_M << eb;
_M << nl << "-(void) iceWrite:(id<ICEOutputStream>)ostr";
@@ -1404,6 +1404,11 @@ Slice::Gen::TypesVisitor::visitExceptionEnd(const ExceptionPtr& p)
if(preserved && !basePreserved)
{
+ _M << nl << nl << "-(id<ICESlicedData>) ice_getSlicedData";
+ _M << sb;
+ _M << nl << "return ICE_AUTORELEASE(ICE_RETAIN(slicedData_));";
+ _M << eb;
+
_M << nl << nl << "-(void) iceWrite:(id<ICEOutputStream>)ostr";
_M << sb;
_M << nl << "[ostr startException:slicedData_];";