Avoid memory leakage in smart pointers wrapper

pull/8500/head
Hamdi Sahloul 8 years ago
parent 0ae297ad95
commit 89088937a7
  1. 6
      modules/python/src2/cv2.cpp

@ -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);
} }

Loading…
Cancel
Save