summaryrefslogtreecommitdiff
path: root/py/modules/IcePy/ObjectAdapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'py/modules/IcePy/ObjectAdapter.cpp')
-rw-r--r--py/modules/IcePy/ObjectAdapter.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/py/modules/IcePy/ObjectAdapter.cpp b/py/modules/IcePy/ObjectAdapter.cpp
index 5e55ff3fc91..a45274bca62 100644
--- a/py/modules/IcePy/ObjectAdapter.cpp
+++ b/py/modules/IcePy/ObjectAdapter.cpp
@@ -269,7 +269,7 @@ IcePy::ServantLocatorWrapper::Cookie::~Cookie()
extern "C"
#endif
static ObjectAdapterObject*
-adapterNew(PyObject* /*arg*/)
+adapterNew(PyTypeObject* /*type*/, PyObject* /*args*/, PyObject* /*kwds*/)
{
PyErr_Format(PyExc_RuntimeError, STRCAST("Use communicator.createObjectAdapter to create an adapter"));
return 0;
@@ -294,7 +294,7 @@ adapterDealloc(ObjectAdapterObject* self)
delete self->deactivateThread;
delete self->holdMonitor;
delete self->holdThread;
- PyObject_Del(self);
+ Py_TYPE(self)->tp_free(reinterpret_cast<PyObject*>(self));
}
#ifdef WIN32
@@ -1661,8 +1661,7 @@ PyTypeObject ObjectAdapterType =
{
/* The ob_type field must be initialized in the module init function
* to be portable to Windows without using C++. */
- PyObject_HEAD_INIT(0)
- 0, /* ob_size */
+ PyVarObject_HEAD_INIT(0, 0)
STRCAST("IcePy.ObjectAdapter"), /* tp_name */
sizeof(ObjectAdapterObject), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1671,7 +1670,7 @@ PyTypeObject ObjectAdapterType =
0, /* tp_print */
0, /* tp_getattr */
0, /* tp_setattr */
- 0, /* tp_compare */
+ 0, /* tp_reserved */
0, /* tp_repr */
0, /* tp_as_number */
0, /* tp_as_sequence */
@@ -1728,7 +1727,8 @@ IcePy::initObjectAdapter(PyObject* module)
PyObject*
IcePy::createObjectAdapter(const Ice::ObjectAdapterPtr& adapter)
{
- ObjectAdapterObject* obj = PyObject_New(ObjectAdapterObject, &ObjectAdapterType);
+ ObjectAdapterObject* obj =
+ reinterpret_cast<ObjectAdapterObject*>(ObjectAdapterType.tp_alloc(&ObjectAdapterType, 0));
if(obj)
{
obj->adapter = new Ice::ObjectAdapterPtr(adapter);