[PyQt] Leak in MappedType code?
    Nyall Dawson 
    nyall.dawson at gmail.com
       
    Sun Jan 28 08:20:40 GMT 2018
    
    
  
Hi list,
I'm seeing a leak when using the MappedType code for a class based on
QVector< QVariant >. The code in question is almost an exact copy of
the PyQt QVector code:
%ConvertFromTypeCode
  // Create the list.
  PyObject *l;
  if ( ( l = PyList_New( sipCpp->size() ) ) == NULL )
    return NULL;
  // Set the list elements.
  for ( int i = 0; i < sipCpp->size(); ++i )
  {
    QVariant *v = new QVariant( sipCpp->at( i ) );
    PyObject *tobj;
    if ( ( tobj = sipConvertFromNewType( v, sipType_QVariant,
sipTransferObj ) ) == NULL )
    {
      Py_DECREF( l );
      delete v;
      return NULL;
    }
    PyList_SET_ITEM( l, i, tobj );
  }
  return l;
%End
Using sip 4.19.5, Qt 5.9.2 and Python 3.6.3 I see a leak with this
code - yet with the exact same code on Qt 4.7 and Python 2.7.14 I see
no leak.
Any idea what's happening here?
Nyall
    
    
More information about the PyQt
mailing list