diff options
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 24 | ||||
-rw-r--r-- | tests/QtGui/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtGui/bug_512.py | 22 |
3 files changed, 46 insertions, 1 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 485d5425b..cf8f2736f 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -2670,7 +2670,29 @@ addLayoutOwnership(%CPPSELF, %1); </inject-code> </modify-function> - <modify-function signature="getItemPosition(int,int*,int*,int*,int*)" remove="all" /> + <modify-function signature="getItemPosition(int,int*,int*,int*,int*)"> + <modify-argument index="return"> + <replace-type modified-type="PyObject*" /> + </modify-argument> + <modify-argument index="2"> + <remove-argument/> + </modify-argument> + <modify-argument index="3"> + <remove-argument/> + </modify-argument> + <modify-argument index="4"> + <remove-argument/> + </modify-argument> + <modify-argument index="5"> + <remove-argument/> + <remove-default-expression/> + </modify-argument> + <inject-code class="target" position="beginning"> + int a, b, c, d; + %CPPSELF.%FUNCTION_NAME(%1, &a, &b, &c, &d); + %PYARG_0 = Shiboken::makeTuple(a, b, c, d); + </inject-code> + </modify-function> </object-type> <object-type name="QGraphicsView"> diff --git a/tests/QtGui/CMakeLists.txt b/tests/QtGui/CMakeLists.txt index df81b3d59..4bfb0d588 100644 --- a/tests/QtGui/CMakeLists.txt +++ b/tests/QtGui/CMakeLists.txt @@ -19,6 +19,7 @@ PYSIDE_TEST(bug_433.py) PYSIDE_TEST(bug_467.py) PYSIDE_TEST(bug_480.py) PYSIDE_TEST(bug_500.py) +PYSIDE_TEST(bug_512.py) PYSIDE_TEST(customproxywidget_test.py) PYSIDE_TEST(deepcopy_test.py) PYSIDE_TEST(float_to_int_implicit_conversion_test.py) diff --git a/tests/QtGui/bug_512.py b/tests/QtGui/bug_512.py new file mode 100644 index 000000000..386a7f960 --- /dev/null +++ b/tests/QtGui/bug_512.py @@ -0,0 +1,22 @@ +''' Test bug 512: http://bugs.openbossa.org/show_bug.cgi?id=512''' + +import unittest +from helper import UsesQApplication +from PySide.QtCore import * +from PySide.QtGui import * + +class BugTest(UsesQApplication): + def testCase(self): + w = QWidget(None) + lbl = QLabel("Hello", w); + g = QGridLayout() + g.addWidget(lbl, 0, 0) + w.setLayout(g) + w.show() + + t = g.getItemPosition(0) + self.assertEqual(type(t), tuple) + self.assertEqual(t, (0,0,1,1)) + +if __name__ == '__main__': + unittest.main() |