diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-08-12 16:56:39 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:43 -0300 |
commit | bbf66078ea911cbacca69550da15fa21a000e3ab (patch) | |
tree | 9407994126f0226f76d5f4abedb0520673e19f3f /tests/QtCore | |
parent | b633bd4c2e575ff6101f2ae9ae39e192bad7fcb4 (diff) |
Fix bug 953 - "Segfault when QObject is garbage collected after QTimer.singeShot"
Reviewer: Renato Araújo <renato.filho@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'tests/QtCore')
-rw-r--r-- | tests/QtCore/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtCore/bug_953.py | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/QtCore/CMakeLists.txt b/tests/QtCore/CMakeLists.txt index 9900a85c0..aa646d790 100644 --- a/tests/QtCore/CMakeLists.txt +++ b/tests/QtCore/CMakeLists.txt @@ -20,6 +20,7 @@ PYSIDE_TEST(bug_920.py) PYSIDE_TEST(bug_927.py) PYSIDE_TEST(bug_931.py) PYSIDE_TEST(bug_938.py) +PYSIDE_TEST(bug_953.py) PYSIDE_TEST(blocking_signals_test.py) PYSIDE_TEST(classinfo_test.py) PYSIDE_TEST(child_event_test.py) diff --git a/tests/QtCore/bug_953.py b/tests/QtCore/bug_953.py new file mode 100644 index 000000000..37ef28ea1 --- /dev/null +++ b/tests/QtCore/bug_953.py @@ -0,0 +1,18 @@ +from PySide.QtCore import * + +class Dispatcher(QObject): + _me = None + + def __init__(self): + super(Dispatcher, self).__init__() + self._me = self + QTimer.singleShot(0, self._finish) + + def _finish(self): + del self._me # It can't crash here! + QTimer.singleShot(10, QCoreApplication.instance().quit) + +if __name__ == '__main__': + app = QCoreApplication([]) + Dispatcher() + app.exec_() |