Fixed reference leak on PySideSignal for QTimer.SingleShot
Fixes bug #815. Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Hugo Parente Lima <hugo.pl@gmail.com>
This commit is contained in:
parent
c36b1ff7e7
commit
db9547be72
1 changed files with 6 additions and 3 deletions
|
|
@ -2108,7 +2108,8 @@
|
|||
%PYARG_2,
|
||||
%3)
|
||||
);
|
||||
Shiboken::Object::invalidate((SbkObject*)pyTimer);
|
||||
Shiboken::Object::releaseOwnership((SbkObject*)pyTimer);
|
||||
Py_XDECREF(pyTimer);
|
||||
timer->setSingleShot(true);
|
||||
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
|
||||
timer->start(%1);
|
||||
|
|
@ -2122,7 +2123,6 @@
|
|||
Shiboken::SbkType<QTimer>()->tp_init(pyTimer, emptyTuple, 0);
|
||||
QTimer* timer = %CONVERTTOCPP[QTimer*](pyTimer);
|
||||
timer->setSingleShot(true);
|
||||
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
|
||||
|
||||
if (PyObject_TypeCheck(%2, &PySideSignalInstanceType)) {
|
||||
PySideSignalInstance* signalInstance = reinterpret_cast<PySideSignalInstance*>(%2);
|
||||
|
|
@ -2146,7 +2146,10 @@
|
|||
pyargs[1])
|
||||
);
|
||||
}
|
||||
Shiboken::Object::invalidate((SbkObject*)pyTimer);
|
||||
|
||||
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()), Qt::DirectConnection);
|
||||
Shiboken::Object::releaseOwnership((SbkObject*)pyTimer);
|
||||
Py_XDECREF(pyTimer);
|
||||
timer->start(%1);
|
||||
</inject-code>
|
||||
</add-function>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue