Hi Renato Araujo Oliveira Filho,
Looks like I just experienced the same problem. Please look at attached
source. It fails with the latest PySide from git on Linux x64 and on
Windows with Python 2.6.6 and the latest beta5 package from
http://pypi.python.org/packages/2.6/P/PySide/PySide-1.0.0beta5qt471.win32-py2.6.exe
If I create more than 13 signals, some of emitters do nothing. Should i
fill a bug report?
Thanks in advance,
Vladimir
Could you create a small example with this problem. With this I can
check exactly what is happening and check if this is a bug on PySide.
On Mon, Dec 13, 2010 at 1:38 PM, João Vale<joao.vale at ndrive.com
<http://lists.openbossa.org/listinfo/pyside>> wrote:
>/ Hi all,
/>/
/>/ I'm developing an application using PySide (v1.0.0beta1 with Python
/>/ 2.7) and I seem to have stumbled into a strange problem. I have work
/>/ that is being done in separate threads, so I created signals that
/>/ notify the UI when the threads finish doing their stuff.
/>/
/>/ The problem that occurs is that after creating about 10 signals, if I
/>/ create a new one, one of the fist signals stops working, the emit()
/>/ call returns False. This happens even if the new signal isn't
/>/ connected to anything.
/>/
/>/ Any idea what could be going on?
/>/
/>/ Thanks in advance,
/>/ João
/>/ _______________________________________________
/>/ PySide mailing list
/>/ PySide at lists.openbossa.org <http://lists.openbossa.org/listinfo/pyside>
/>/ http://lists.openbossa.org/listinfo/pyside
/>/
/
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
from PySide import QtCore
class Emitter(QtCore.QObject):
s1 = QtCore.Signal()
s2 = QtCore.Signal()
s3 = QtCore.Signal()
s4 = QtCore.Signal()
s5 = QtCore.Signal()
s6 = QtCore.Signal()
s7 = QtCore.Signal()
s8 = QtCore.Signal()
s9 = QtCore.Signal()
s10 = QtCore.Signal()
s11 = QtCore.Signal()
s12 = QtCore.Signal()
s13 = QtCore.Signal()
s14 = QtCore.Signal()
class SignalNumberLimitTest(unittest.TestCase):
def myCb(self):
self._count += 1
def testBug(self):
e = Emitter()
e.s1.connect(self.myCb)
e.s2.connect(self.myCb)
e.s3.connect(self.myCb)
e.s4.connect(self.myCb)
e.s5.connect(self.myCb)
e.s6.connect(self.myCb)
e.s7.connect(self.myCb)
e.s8.connect(self.myCb)
e.s9.connect(self.myCb)
e.s10.connect(self.myCb)
e.s11.connect(self.myCb)
e.s12.connect(self.myCb)
e.s13.connect(self.myCb)
e.s14.connect(self.myCb)
self._count = 0
e.s1.emit()
e.s2.emit()
e.s3.emit()
e.s4.emit()
e.s5.emit()
e.s6.emit()
e.s7.emit()
e.s8.emit()
e.s9.emit()
e.s10.emit()
e.s11.emit()
e.s12.emit()
e.s13.emit()
e.s14.emit()
self.assertEqual(self._count, 14)
if __name__ == '__main__':
unittest.main()
_______________________________________________
PySide mailing list
[email protected]
http://lists.openbossa.org/listinfo/pyside