I faced with buggy behavior of 'QT GUI Label' in my GRC graph and
surprisingly found that GRC generates code making prohibited accesses to qt
gui objects from non-gui thread context. I'm not python guru, but I doubt
that python is smart enough to detect access to qt objects from different
threads and invoke them properly via qt-specific mechanisms. Similar problem
observed when widgets slots (executing in main thread context) call
variable-changer functions which in turn invoking callbacks of blocks*.

I suppose all blocks in /GUI Widgets/QT category aren't thread-safe and
shouldn't be used until this issue has been fixed.

* Block's external interfaces(callbacks) are expected to be guarded
internally, but I still didn't found no block in gr packages, I working
with, which follow this rule. Maybe swig-generated python interface guards
all accesses already? If not, GRC user should be so much careful, that one
have to check generated code. IMHO, it reduces GRC usefullness greatly...




--
View this message in context: 
http://gnuradio.4.n7.nabble.com/Bug-gr-qtgui-wrong-design-of-variable-type-blocks-for-GRC-category-GUI-Widgets-QT-tp45538.html
Sent from the GnuRadio mailing list archive at Nabble.com.

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to