Merge pull request #2782 from HapeMask:py3_flann

This commit is contained in:
Roman Donchenko 2014-05-29 14:40:38 +04:00 committed by OpenCV Buildbot
commit f57f39276a

View File

@ -999,19 +999,18 @@ template<>
bool pyopencv_to(PyObject *o, cv::flann::IndexParams& p, const char *name)
{
(void)name;
bool ok = false;
PyObject* keys = PyObject_CallMethod(o,(char*)"keys",0);
PyObject* values = PyObject_CallMethod(o,(char*)"values",0);
bool ok = true;
PyObject* key = NULL;
PyObject* item = NULL;
Py_ssize_t pos = 0;
if( keys && values )
{
int i, n = (int)PyList_GET_SIZE(keys);
for( i = 0; i < n; i++ )
{
PyObject* key = PyList_GET_ITEM(keys, i);
PyObject* item = PyList_GET_ITEM(values, i);
if( !PyString_Check(key) )
if(PyDict_Check(o)) {
while(PyDict_Next(o, &pos, &key, &item)) {
if( !PyString_Check(key) ) {
ok = false;
break;
}
String k = PyString_AsString(key);
if( PyString_Check(item) )
{
@ -1034,14 +1033,14 @@ bool pyopencv_to(PyObject *o, cv::flann::IndexParams& p, const char *name)
p.setDouble(k, value);
}
else
{
ok = false;
break;
}
}
ok = i == n && !PyErr_Occurred();
}
Py_XDECREF(keys);
Py_XDECREF(values);
return ok;
return ok && !PyErr_Occurred();
}
template<>