diff options
Diffstat (limited to 'cpp/src/slice2cpp')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 7 | ||||
-rw-r--r-- | cpp/src/slice2cpp/Makefile | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 9198e95c486..57206998170 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -1858,7 +1858,14 @@ Slice::Gen::HandleVisitor::visitClassDefStart(const ClassDefPtr& p) C << nl << "::Ice::ObjectPrx proxy;"; // TODO: Should be ::Ice::__read C << nl << "::IceInternal::read(__is, proxy);"; + C << nl << "if (!proxy)"; + C << sb; + C << nl << "v = 0;"; + C << eb; + C << nl << "else"; + C << sb; C << nl << "v = new ::IceProxy" << scoped << ';'; C << nl << "proxy->__copyTo(v.get());"; C << eb; + C << eb; } diff --git a/cpp/src/slice2cpp/Makefile b/cpp/src/slice2cpp/Makefile index e82b5ebeca3..4087295d345 100644 --- a/cpp/src/slice2cpp/Makefile +++ b/cpp/src/slice2cpp/Makefile @@ -22,7 +22,7 @@ SRCS = $(OBJS:.o=.cpp) include $(top_srcdir)/config/Make.rules -CPPFLAGS := -I../parser $(CPPFLAGS) +CPPFLAGS := -I. -I../parser $(CPPFLAGS) $(NAME): $(OBJS) rm -f $@ |