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,
|
%PYARG_2,
|
||||||
%3)
|
%3)
|
||||||
);
|
);
|
||||||
Shiboken::Object::invalidate((SbkObject*)pyTimer);
|
Shiboken::Object::releaseOwnership((SbkObject*)pyTimer);
|
||||||
|
Py_XDECREF(pyTimer);
|
||||||
timer->setSingleShot(true);
|
timer->setSingleShot(true);
|
||||||
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
|
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
|
||||||
timer->start(%1);
|
timer->start(%1);
|
||||||
|
|
@ -2122,7 +2123,6 @@
|
||||||
Shiboken::SbkType<QTimer>()->tp_init(pyTimer, emptyTuple, 0);
|
Shiboken::SbkType<QTimer>()->tp_init(pyTimer, emptyTuple, 0);
|
||||||
QTimer* timer = %CONVERTTOCPP[QTimer*](pyTimer);
|
QTimer* timer = %CONVERTTOCPP[QTimer*](pyTimer);
|
||||||
timer->setSingleShot(true);
|
timer->setSingleShot(true);
|
||||||
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
|
|
||||||
|
|
||||||
if (PyObject_TypeCheck(%2, &PySideSignalInstanceType)) {
|
if (PyObject_TypeCheck(%2, &PySideSignalInstanceType)) {
|
||||||
PySideSignalInstance* signalInstance = reinterpret_cast<PySideSignalInstance*>(%2);
|
PySideSignalInstance* signalInstance = reinterpret_cast<PySideSignalInstance*>(%2);
|
||||||
|
|
@ -2146,7 +2146,10 @@
|
||||||
pyargs[1])
|
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);
|
timer->start(%1);
|
||||||
</inject-code>
|
</inject-code>
|
||||||
</add-function>
|
</add-function>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue