During the development of
PYSIDE-560 (PEP384), file methodobject.h, I stumbled over a problem that I first could not fix: In PEP384, almost all macros need to be replaced by functions. When I tried that with PyCFunction_GET_FLAGS, I got a runtime error in pysidesignal.cpp !
The only reason that a macro cannot be replaced by its function counterpart is an illegal usage of the macro, and the function activates a runtime check that the macro ignores.
It turned out that this file uses the macro without checking that it is really treating a PyCFunction object. I have not yet analyzed this error and disabled the support for methodobject.h until this problem has been further investigated. It should be inspected carefully, especially about the flag usage and what to do instead if the function is no PyCFunction.
The erroneous macro call is in function signalCall, line 576.
|For Gerrit Dashboard: PYSIDE-593|
|216937,2||WIP: Pep384 step 4: More not so simple cases||5.6||pyside/pyside-setup||Status: ABANDONED||-2||0|
|217101,2||WIP: Pep384 step 4: More not so simple cases||5.6||pyside/pyside-setup||Status: ABANDONED||-2||0|
|218010,27||PEP 384-4: More not so simple cases||5.9||pyside/pyside-setup||Status: ABANDONED||-2||0|
|219066,5||Fix usage of PyCFunction_GET_FLAGS in pysidesignal.cpp||5.9||pyside/pyside-setup||Status: MERGED||+2||0|