[PySide] Regression in pysidesignal.cpp?
seanheelan at gmail.com
Wed Jan 21 19:58:31 CET 2015
Today in a PySide project I noticed a crash with a stack trace starting
from line 469 of pysidesignal.cpp. This is within the
signalInstanceDisconnect function and is on a call to Py_DECREF on a value
that is returned by PyObject_CallObject. PyObject_CallObject can return
NULL if it fails and so what should be used on its result is Py_XDECREF.
I quickly googled "signalInstanceDisconnect" and came across this  which
is a bug report from 2012 reporting the same error, but also claiming to
have been fixed along with a commit to git. Looking at the code on HEAD on
the master branch at  you can see that Py_DECREF is still used though.
Git blame has no indication that this was ever fixed , and I can't find
the git commit with the ID mentioned either. I was under the impression
that PySide has moved repository at least once in the past, so perhaps the
commit was lost then? Or am I looking at an out of date copy of the code?
Any explanation of the discrepancy would be appreciated.
 git blame -L469 libpyside/pysidesignal.cpp | head -n 1
d0decf40 libpyside/pysidesignal.cpp (Renato Filho 2011-08-26 19:11:54
-0300 469) Py_DECREF(result);
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PySide