Bug: gr-qtgui: wrong design of variable-type blocks for GRC (category /GUI Widgets/QT)

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.

posted partial bugfix to github (pull request #122)


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-tp45538p45543.html
Sent from the GnuRadio mailing list archive at Nabble.com.

On Thu, Dec 26, 2013 at 6:19 AM, Artem P. [email protected]
wrote:

posted partial bugfix to github (pull request #122)

Artem,

Thanks. I’ve got this queued up with a few other patches and am just
waiting on confirmation on one more thing (holiday delays) before it
gets pushed.

Tom