Skip to content
Permalink
Browse files

Remove conversions.sip conditionals meant for 4.12 but actually 4.18

- The hex version of 4.12 was not 0x041200 (current 4.18) but 0x040c00.
  Code was always skipped and has worked with recent sip versions.

(cherry-picked from commit fc6559a)
  • Loading branch information
dakcarto committed Apr 16, 2016
1 parent 3156d57 commit 9e1dc47cd281530e3ae675fca854528cf82e814a
Showing with 0 additions and 29 deletions.
  1. +0 −29 python/core/conversions.sip
@@ -545,11 +545,6 @@ template<TYPE>
PyObject *kobj, *tobj, *kobj2, *tobj2;
Py_ssize_t i = 0;

//TODO: it works using SIP
#if (SIP_VERSION >= 0x041200)
const sipMappedType* qmap2 = sipFindMappedType("QMap<int, TYPE>");
#endif

// Check the type if that is all that is required.
if (sipIsErr == NULL)
{
@@ -561,17 +556,12 @@ template<TYPE>
if (!PyDict_Check(tobj))
return 0;

#if (SIP_VERSION >= 0x041200)
if (!sipCanConvertToMappedType(tobj, qmap2, SIP_NOT_NONE))
return 0;
#else
Py_ssize_t j = 0;
while (PyDict_Next(tobj, &j, &kobj2, &tobj2))
{
if (!sipCanConvertToType(tobj2, sipType_TYPE, SIP_NOT_NONE))
return 0;
}
#endif
}
return 1;
}
@@ -582,24 +572,6 @@ template<TYPE>
{
qint64 k = PyLong_AsLongLong(kobj);

#if (SIP_VERSION >= 0x041200)
// TODO: search for the minimum SIP version this code works on, it works
// on SIP 4.13.3 (GS). See #else to know why the version check is needed.

int state;

TYPE* t = reinterpret_cast<TYPE*>(sipConvertToMappedType(tobj, qmap2, sipTransferObj,SIP_NOT_NONE,&state,sipIsErr));

if (*sipIsErr)
{
sipReleaseMappedType(t, qmap2, state);
delete qm;
return 0;
}

qm.insert(k, *t);
sipReleaseMappedType(t, qmap2, state);
#else
// using sipConvertToMappedType to convert directly to QMap<int, TYPE> doesn't work
// and ends with a segfault

@@ -624,7 +596,6 @@ template<TYPE>
sipReleaseType(t2, sipType_TYPE, state);
}
qm->insert(k, qm2);
#endif
}

*sipCppPtr = qm;

0 comments on commit 9e1dc47

Please sign in to comment.
You can’t perform that action at this time.