-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
4.8.5
-
None
-
OpenSUSE Linux 12.2 64 bit
Linux linux-edge.site 3.4.47-2.38-desktop #1 SMP PREEMPT Fri May 31 20:17:40 UTC 2013 (3961086) x86_64 x86_64 x86_64 GNU/Linux
g++ (SUSE Linux) 4.7.1 20120723 [gcc-4_7-branch revision 189773]
Qt 4.8.5 Open Source
The attached code demonstrates the problem. Compile and run the application, then click on the Set Property button. When setting a dynamic property of an object, Qt is calling QCoreApplication::sendEvent(). If the thread that QObject::setProperty() is called on doesn't match the thread affinity of the object, then it trips an assert about sending events to objects owned by another thread. This is causing KDAB's GammaRay utility to crash when analyzing any application that has QTimers firing in threads. See https://github.com/KDAB/GammaRay/issues/44. Perhaps QCoreApplication::postEvent() should be called when the current thread doesn't match the thread affinity of the object.