summaryrefslogtreecommitdiff
path: root/py/modules/IcePy/ObjectAdapter.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2006-01-31 19:37:59 +0000
committerMark Spruiell <mes@zeroc.com>2006-01-31 19:37:59 +0000
commit08f2a14e8c6073c82130e58f1029b1d2e1db0cb6 (patch)
tree48562b00d2c8d75c1fc76176826a12b69c287440 /py/modules/IcePy/ObjectAdapter.cpp
parentsome fixes for bug 696 (diff)
downloadice-08f2a14e8c6073c82130e58f1029b1d2e1db0cb6.tar.bz2
ice-08f2a14e8c6073c82130e58f1029b1d2e1db0cb6.tar.xz
ice-08f2a14e8c6073c82130e58f1029b1d2e1db0cb6.zip
fix for bug 842: assert in ObjectAdapter.find
Diffstat (limited to 'py/modules/IcePy/ObjectAdapter.cpp')
-rw-r--r--py/modules/IcePy/ObjectAdapter.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/py/modules/IcePy/ObjectAdapter.cpp b/py/modules/IcePy/ObjectAdapter.cpp
index a055e56cbc2..a42dcc45357 100644
--- a/py/modules/IcePy/ObjectAdapter.cpp
+++ b/py/modules/IcePy/ObjectAdapter.cpp
@@ -818,6 +818,12 @@ adapterRemove(ObjectAdapterObject* self, PyObject* args)
return NULL;
}
+ if(!obj)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
ServantWrapperPtr wrapper = ServantWrapperPtr::dynamicCast(obj);
assert(wrapper);
return wrapper->getObject();
@@ -855,6 +861,12 @@ adapterRemoveFacet(ObjectAdapterObject* self, PyObject* args)
return NULL;
}
+ if(!obj)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
ServantWrapperPtr wrapper = ServantWrapperPtr::dynamicCast(obj);
assert(wrapper);
return wrapper->getObject();
@@ -942,6 +954,12 @@ adapterFind(ObjectAdapterObject* self, PyObject* args)
return NULL;
}
+ if(!obj)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
ServantWrapperPtr wrapper = ServantWrapperPtr::dynamicCast(obj);
assert(wrapper);
return wrapper->getObject();
@@ -979,6 +997,12 @@ adapterFindFacet(ObjectAdapterObject* self, PyObject* args)
return NULL;
}
+ if(!obj)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
ServantWrapperPtr wrapper = ServantWrapperPtr::dynamicCast(obj);
assert(wrapper);
return wrapper->getObject();
@@ -1062,6 +1086,12 @@ adapterFindByProxy(ObjectAdapterObject* self, PyObject* args)
return NULL;
}
+ if(!obj)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
ServantWrapperPtr wrapper = ServantWrapperPtr::dynamicCast(obj);
assert(wrapper);
return wrapper->getObject();
@@ -1122,6 +1152,12 @@ adapterFindServantLocator(ObjectAdapterObject* self, PyObject* args)
return NULL;
}
+ if(!locator)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
ServantLocatorWrapperPtr wrapper = ServantLocatorWrapperPtr::dynamicCast(locator);
assert(wrapper);
return wrapper->getObject();