summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorrenatofilho <renato.filho@openbossa.org>2010-10-13 16:42:50 -0300
committerrenatofilho <renato.filho@openbossa.org>2010-10-13 17:01:05 -0300
commite71b215f0bb4c6b53bd74a66ab856426df51f140 (patch)
tree79ab2ad9382cf5f8d718a41641fbf8c9885a48a9 /tests
parent4c8660413a66b8e006687def786d9a82c6870094 (diff)
downloadpyside-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')
-rw-r--r--tests/QtUiTools/bug_392.py12
-rw-r--r--tests/QtUiTools/pycustomwidget2.ui48
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>