diff options
Diffstat (limited to 'cpp/src/Slice/RubyUtil.cpp')
-rwxr-xr-x | cpp/src/Slice/RubyUtil.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp index c9a3bae5820..d5f8f771a13 100755 --- a/cpp/src/Slice/RubyUtil.cpp +++ b/cpp/src/Slice/RubyUtil.cpp @@ -912,7 +912,9 @@ Slice::Ruby::CodeVisitor::visitExceptionStart(const ExceptionPtr& p) // // Emit the type information. // - _out << sp << nl << "T_" << name << " = ::Ice::__defineException('" << scoped << "', " << name << ", "; + const bool preserved = p->hasMetaData("preserve-slice") || p->inheritsMetaData("preserve-slice"); + _out << sp << nl << "T_" << name << " = ::Ice::__defineException('" << scoped << "', " << name << ", " + << (preserved ? "true" : "false") << ", "; if(!base) { _out << "nil"; |