On Feb 23, 2007, at 23:34, Matt Newell wrote:


Try testing with this patch, it eliminates all deadlocks for me.


Ok, even after applying this patch using "setText()" gives me an immediate deadlock.
I made some further tests.

Using:
self.connect(self, QtCore.SIGNAL("steip(const QString &)"), self.container.write,QtCore.Qt.QueuedConnection)

write doing a textEdit2.setText()

The connect succeeds but nothing happens.
If I do not define the connection type I get the following error.

QObject: Cannot create children for a parent that is in a different thread.
        Bus error

So it seems to use a direct connection and therefore bombs out.

Using:
self.connect(self, QtCore.SIGNAL("steip(const QString &)"), self.container.textEdit2,QtCore.SLOT("setText(const QString &)"),QtCore.Qt.QueuedConnection)

as a connect works without a problem. I can go well over 100 threads and kill them as fast as I want.

So why is the first connect not working with a QueuedConnection?

/Michael

_______________________________________________
PyKDE mailing list    [email protected]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to