summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/ProxyHandle.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/ProxyHandle.h')
-rw-r--r--cpp/include/Ice/ProxyHandle.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/cpp/include/Ice/ProxyHandle.h b/cpp/include/Ice/ProxyHandle.h
index f73222b703f..cad5a557459 100644
--- a/cpp/include/Ice/ProxyHandle.h
+++ b/cpp/include/Ice/ProxyHandle.h
@@ -15,9 +15,10 @@
//
// We include Handle.h here to make sure that the Ice::Handle template
-// is defined before any definition of incRef() or decRef() (see
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25495 for information
-// on why this is necessary.)
+// is defined before any definition of upCast().
+//
+// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25495 for information
+// on why this is necessary.
//
#include <Ice/Handle.h>
@@ -106,6 +107,17 @@ template<typename T>
class ProxyHandle : public ::IceUtil::HandleBase<T>
{
public:
+
+#if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600)
+ //
+ // C++Builder 2009 does not allow setting Prx to 0.
+ //
+ ProxyHandle(int p)
+ {
+ assert(p == 0);
+ this->_ptr = 0;
+ }
+#endif
ProxyHandle(T* p = 0)
{
@@ -282,7 +294,6 @@ public:
}
};
-
}
template<class Y>