GNOME Bugzilla – Bug 699435
[meta] Fix void pointer marshaling
Last modified: 2013-09-26 02:09:30 UTC
Tracking ticket related to the problems with marshaling void pointers which don't have GI convention and cannot be managed properly. Generally void pointer arguments and properties have made use of raw PyObject pointers. This has caused problems on a number of occasions, primarily reference leaks or worse. Generally marshaling of unknown void pointers should work as follows: From Python to C should only allow: * None to NULL * Long/Integer to void pointer using PyLong_AsVoidPtr * PyCapsule held pointer to void pointer From C to Python: * Only allow conversion to integer using PyLong_FromVoidPtr because we cannot make any general assumptions as to what the void pointer means.
All blocking tickets have been resolved.