Currently the app uses python threads, not pyqt threads, could this be
the reason?
The only thread I'm having now is a logging function:
self.setTitleBarText("Trying to login...")
try:
if self.OSDBServer._login(username, password) :
if not username: username = 'Anonymous'
self.setTitleBarText("Logged as: %s" % username)
elif username: #We try anonymous login in case the normal
user login has failed
self.setTitleBarText("Error logging as: %s. Logging
anonymously..." % username)
if self.OSDBServer._login("", "") :
self.setTitleBarText("Logged as: Anonymous")
else:
self.setTitleBarText("Login: Cannot login.")
except:
self.setTitleBarText("Login: ERROR")
The only interaction of the thread with the pyqt GUI is the
setTitleBarText where it changes the title of the Main App Window.
Andreas Pakulat wrote:
On 06.07.08 13:16:09, Iván García wrote:
One of my users just reported this bug:
ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned
by a different thread. Current thread f74470. Receiver 'MainWindow' (of type
'QMainWindow') was created in thread 9a7fc0", file kernel/qcoreapplication.cpp, line
269
Cancelado (core dumped)
How to avoid this problem? Is there a way to fix the problem within the
application code?
Yes, don't use sendEvent across threads, use postEvent. This is not 100%
clear in the documentation, except that sendEvent is explained to use
notify() directly. And obviously notify shouldn't be called from a
different thread.
Andreas
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt