--nextPart82077695.bhkWkn0vOf Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Wilfried Huss wrote: >Am Sonntag, 28. Mai 2006 11:49 schrieb Thiago Macieira: >> Wilfried Huss wrote: >> >One sometimes gets a "Xlib: unexpected async reply (sequence >> > 0x8c56)!" message, and then the GUI freezes. This doesn't happen in >> > trunk with Qt4/KDE4. >> >> This means you're doing GUI stuff from outside the GUI thread. > >Yes I know, I just don't know where I do GUI stuff. > >Does KProcIO make some xlib calls? Because other that that I only use >QImage, QByteArray, KTempFile, QString, QStringList, QFile, QFileInfo >and QDataStream. KProcIO uses QSocketNotifiers (inside KProcess), so you're not allowed to=20 use it non-GUI threads. Depending on your KDE version, KProcess also calls QApplication::flushX().= =20 I removed that call in KDE 3.5.3 and 4.0. >> Remember that you are not allowed to use QObject objects outside the >> GUI thread either in Qt 3! > >Why? From the Qt3 docs: "The QObject class itself is reentrant. However, > certain rules apply when creating and using QObjects in a thread that > is not the GUI thread." > >Or: "The Signals and Slots mechanism can be used in separate threads, > ...". Signals are delivered on the thread they are emitted. But the signal-slot=20 connection list is not protected by mutex in Qt3, so you're not allowed=20 to call QObject::connect or emit a signal unless you've locked the entire=20 program yourself. =2D-=20 Thiago Jos=E9 Macieira - thiago.macieira AT trolltech.com Trolltech AS - Sandakerveien 116, NO-0402 Oslo, Norway --nextPart82077695.bhkWkn0vOf Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBEebDKM/XwBW70U1gRAiHiAJ0ZNCCvJEsqcfrHK0pLQLrXbn2duACgsmuF BaZ6eJI+EQ4UXvWBuSjumNI= =4ENx -----END PGP SIGNATURE----- --nextPart82077695.bhkWkn0vOf--