aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/QtGui/CMakeLists.txt1
-rw-r--r--tests/QtGui/bug_714.py21
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/QtGui/CMakeLists.txt b/tests/QtGui/CMakeLists.txt
index 38975321a..5a6931d95 100644
--- a/tests/QtGui/CMakeLists.txt
+++ b/tests/QtGui/CMakeLists.txt
@@ -41,6 +41,7 @@ PYSIDE_TEST(bug_667.py)
PYSIDE_TEST(bug_668.py)
PYSIDE_TEST(bug_674.py)
PYSIDE_TEST(bug_675.py)
+PYSIDE_TEST(bug_714.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_714.py b/tests/QtGui/bug_714.py
new file mode 100644
index 000000000..937ff82be
--- /dev/null
+++ b/tests/QtGui/bug_714.py
@@ -0,0 +1,21 @@
+import unittest
+import sys
+from PySide.QtGui import QLabel, QApplication, QPixmap
+
+class TestLabelPixmap(unittest.TestCase):
+ def testReference(self):
+ l = QLabel()
+ p = QPixmap()
+ l.setPixmap(p) # doesn't increment pixmap ref because this makes a copy
+ self.assertEqual(sys.getrefcount(p), 2)
+
+ p = l.pixmap() # this increment the reference because this is an internal pointer
+ self.assertEqual(sys.getrefcount(p), 3)
+
+ p2 = l.pixmap()
+ self.assertEqual(p, p2)
+
+if __name__ == '__main__':
+ app = QApplication([])
+ unittest.main()
+