aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtCore
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-08-12 16:56:39 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:54:43 -0300
commitbbf66078ea911cbacca69550da15fa21a000e3ab (patch)
tree9407994126f0226f76d5f4abedb0520673e19f3f /tests/QtCore
parentb633bd4c2e575ff6101f2ae9ae39e192bad7fcb4 (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.txt1
-rw-r--r--tests/QtCore/bug_953.py18
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_()