diff options
author | Paulo Alcantara <paulo.alcantara@openbossa.org> | 2011-10-19 16:30:36 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:56:14 -0300 |
commit | b7f593d99e2c02ddf8bde439df43b98c3d1caa0b (patch) | |
tree | e7e7d1b34f298ffe4dcb56e0c47cd24dae5cd6bc | |
parent | 6acb5f9bc77d583f2d9a1fcd896ace193019b4fb (diff) |
Fix bug 1022 - "RuntimeError: maximum recursion depth exceeded while getting the str of an object"
Reviewer: Hugo Parente Lima <hugo.lima@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
Signed-off-by: Paulo Alcantara <paulo.alcantara@openbossa.org>
-rw-r--r-- | PySide/QtScript/typesystem_script.xml | 3 | ||||
-rw-r--r-- | tests/QtScript/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtScript/bug_1022.py | 13 |
3 files changed, 16 insertions, 1 deletions
diff --git a/PySide/QtScript/typesystem_script.xml b/PySide/QtScript/typesystem_script.xml index 4dc3930cf..af2f198c5 100644 --- a/PySide/QtScript/typesystem_script.xml +++ b/PySide/QtScript/typesystem_script.xml @@ -66,7 +66,8 @@ QString format = QString().sprintf("%s(\"%s\")", ((PyObject*)%PYSELF)->ob_type->tp_name, qPrintable(%CPPSELF.toString())); %PYARG_0 = Shiboken::String::fromCString(qPrintable(format)); } else { - %PYARG_0 = PyObject_Str((PyObject*)%PYSELF); + %PYARG_0 = Shiboken::String::fromCString( + ((PyObject* )%PYSELF)->ob_type->tp_name); } </inject-code> </add-function> diff --git a/tests/QtScript/CMakeLists.txt b/tests/QtScript/CMakeLists.txt index a3c7c7ded..dfea68df0 100644 --- a/tests/QtScript/CMakeLists.txt +++ b/tests/QtScript/CMakeLists.txt @@ -1,4 +1,5 @@ PYSIDE_TEST(base_test.py) +PYSIDE_TEST(bug_1022.py) PYSIDE_TEST(engine_test.py) PYSIDE_TEST(property_test.py) PYSIDE_TEST(qscriptvalue_test.py) diff --git a/tests/QtScript/bug_1022.py b/tests/QtScript/bug_1022.py new file mode 100644 index 000000000..3a246145a --- /dev/null +++ b/tests/QtScript/bug_1022.py @@ -0,0 +1,13 @@ +import unittest + +from PySide.QtCore import * +from PySide.QtScript import * + +class QScriptValueTest(unittest.TestCase): + def testQScriptValue(self): + app = QCoreApplication([]) + engine = QScriptEngine() + repr(engine.evaluate('1 + 1')) + +if __name__ == '__main__': + unittest.main() |