Fixed return policy on ItemList.

Fixed singleShot function to invalidate temporary object.

Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
          Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
Renato Filho 2010-07-29 19:14:05 -03:00
commit ee7b4826c0
2 changed files with 8 additions and 0 deletions

View file

@ -1697,6 +1697,8 @@
QTimer* timer = Converter&lt;QTimer*>::toCpp(pyTimer); QTimer* timer = Converter&lt;QTimer*>::toCpp(pyTimer);
PyObject* result = PyObject_CallMethod(pyTimer, const_cast&lt;char*>("connect"), const_cast&lt;char*>("OsOs"), pyTimer, SIGNAL(timeout()), %PYARG_2, %3); PyObject* result = PyObject_CallMethod(pyTimer, const_cast&lt;char*>("connect"), const_cast&lt;char*>("OsOs"), pyTimer, SIGNAL(timeout()), %PYARG_2, %3);
Py_DECREF(result); Py_DECREF(result);
// invalidate to avoid use of python object
Shiboken::BindingManager::instance().invalidateWrapper((Shiboken::SbkBaseWrapper *)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);
@ -1713,6 +1715,7 @@
timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater())); timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
PyObject* result = PyObject_CallMethod(pyTimer, const_cast&lt;char*>("connect"), const_cast&lt;char*>("OsO"), pyTimer, SIGNAL(timeout()), pyargs[1]); PyObject* result = PyObject_CallMethod(pyTimer, const_cast&lt;char*>("connect"), const_cast&lt;char*>("OsO"), pyTimer, SIGNAL(timeout()), pyargs[1]);
Py_DECREF(result); Py_DECREF(result);
Shiboken::BindingManager::instance().invalidateWrapper((Shiboken::SbkBaseWrapper *)pyTimer);
timer->start(cpp_arg0); timer->start(cpp_arg0);
</inject-code> </inject-code>
</add-function> </add-function>

View file

@ -2953,6 +2953,11 @@
<parent index="1" action="add"/> <parent index="1" action="add"/>
</modify-argument> </modify-argument>
</modify-function> </modify-function>
<modify-function signature="listWidget() const">
<modify-argument index="return">
<define-ownership owner="target"/>
</modify-argument>
</modify-function>
<modify-function signature="operator&lt;(QListWidgetItem)const"> <modify-function signature="operator&lt;(QListWidgetItem)const">
<modify-argument index="1" invalidate-after-use="yes"/> <modify-argument index="1" invalidate-after-use="yes"/>
</modify-function> </modify-function>