If a sip specification marks a class with the 'Abstract' annotation, the CLASS_CANNOT_CREATE bit is set. This can also be caused by the inclusion of pure virtual methods.

The effect of the CLASS_CANNOT_CREATE bit is to set td_init AND td_dealloc to 0 in the generated sipTypeDef. This causes factory methods returning pointers to abstract interfaces to leak memory.

I am going to attempt to patch this, but I still don't know the SIP code very well at all. Anyone know any reason why always generating the dealloc_CLASS function might be a bad idea?

James

--
This is not my home; the cats just let me stay here.

_______________________________________________
PyKDE mailing list    [email protected]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to