Hi Phil, it looks like SIP 4.9 changed behaviour wrt monkey-patching of virtual methods. If you use a regular Python function (or a lambda) to do the monkey patching, the function is passed 'self' when it's invoked.
This change in behaviour is undocumented among the incompatibilities with earlier versions. Moreover, it break existing code in a way that it is hard to fix (there is no easy way to grep all occurrences); it is also hard to debug because the resulting exception (eg: "function takes no argument (1 given)") does not usually have any traceback attached. Lastly, it does not match what Python itself does when monkey-patching a method with a function; with regular Python objects, the function is not passed 'self' when it's invoked as a method. What's your position on this? Was this change in behaviour a rationale choice or just an unwanted regression? Thanks! -- Giovanni Bajo Develer S.r.l. http://www.develer.com _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
