diff options
author | renatofilho <renato.filho@openbossa.org> | 2010-10-13 16:42:50 -0300 |
---|---|---|
committer | renatofilho <renato.filho@openbossa.org> | 2010-10-13 17:01:05 -0300 |
commit | e71b215f0bb4c6b53bd74a66ab856426df51f140 (patch) | |
tree | 79ab2ad9382cf5f8d718a41641fbf8c9885a48a9 /tests/QtUiTools | |
parent | 4c8660413a66b8e006687def786d9a82c6870094 (diff) | |
download | pyside-e71b215f0bb4c6b53bd74a66ab856426df51f140.tar.gz pyside-e71b215f0bb4c6b53bd74a66ab856426df51f140.tar.xz pyside-e71b215f0bb4c6b53bd74a66ab856426df51f140.zip |
Fixed reference leak on uiloader.
Fixes bug #392
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'tests/QtUiTools')
-rw-r--r-- | tests/QtUiTools/bug_392.py | 12 | ||||
-rw-r--r-- | tests/QtUiTools/pycustomwidget2.ui | 48 |
2 files changed, 59 insertions, 1 deletions
diff --git a/tests/QtUiTools/bug_392.py b/tests/QtUiTools/bug_392.py index 36b2f10..9cc8b21 100644 --- a/tests/QtUiTools/bug_392.py +++ b/tests/QtUiTools/bug_392.py @@ -2,7 +2,7 @@ import unittest import os from helper import UsesQApplication -from PySide import QtCore, QtGui, QtDeclarative +from PySide import QtGui, QtDeclarative from PySide.QtUiTools import QUiLoader class MyWidget(QtGui.QComboBox): @@ -40,6 +40,16 @@ class BugTest(UsesQApplication): self.assert_(isinstance(result.custom, MyWidget)) self.assert_(result.custom.isPython()) + def testPythonCustomWidgetsTwice(self): + w = QtGui.QWidget() + loader = QUiLoader() + loader.registerCustomWidget(MyWidget) + + filePath = os.path.join(os.path.dirname(__file__), 'pycustomwidget2.ui') + result = loader.load(filePath, w) + self.assert_(isinstance(result.custom, MyWidget)) + self.assert_(isinstance(result.custom2, MyWidget)) + self.assert_(result.custom.isPython()) if __name__ == '__main__': unittest.main() diff --git a/tests/QtUiTools/pycustomwidget2.ui b/tests/QtUiTools/pycustomwidget2.ui new file mode 100644 index 0000000..8826ac1 --- /dev/null +++ b/tests/QtUiTools/pycustomwidget2.ui @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>qwidget</class> + <widget class="QWidget" name="qwidget"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string/> + </property> + + <widget class="MyWidget" name="custom"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>79</width> + <height>23</height> + </rect> + </property> + </widget> + + <widget class="MyWidget" name="custom2"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>79</width> + <height>23</height> + </rect> + </property> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>MyWidget</class> + <extends>QComboBox</extends> + <header>customwidget</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> |