Avoid memory leakage in smart pointers wrapper

This commit is contained in:
Hamdi Sahloul 2017-04-01 18:25:04 +09:00
parent 0ae297ad95
commit 89088937a7

View File

@ -1274,14 +1274,16 @@ PyObject* pyopencv_from(const Moments& m)
template<typename T> template<typename T>
PyObject* pyopencv_from(const cv::Ptr<T>& p) PyObject* pyopencv_from(const cv::Ptr<T>& p)
{ {
if (!p) return Py_None; if (!p)
Py_RETURN_NONE;
return pyopencv_from(*p); return pyopencv_from(*p);
} }
template <typename T> template <typename T>
bool pyopencv_to(PyObject *o, Ptr<T>& p, const char *name) bool pyopencv_to(PyObject *o, Ptr<T>& p, const char *name)
{ {
if (!o || o == Py_None) return true; if (!o || o == Py_None)
return true;
p = makePtr<T>(); p = makePtr<T>();
return pyopencv_to(o, *p, name); return pyopencv_to(o, *p, name);
} }