diff options
author | Mark Spruiell <mes@zeroc.com> | 2006-01-31 19:37:59 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2006-01-31 19:37:59 +0000 |
commit | 08f2a14e8c6073c82130e58f1029b1d2e1db0cb6 (patch) | |
tree | 48562b00d2c8d75c1fc76176826a12b69c287440 /py/modules/IcePy/ObjectAdapter.cpp | |
parent | some fixes for bug 696 (diff) | |
download | ice-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.cpp | 36 |
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(); |