Re: [LAD] Looking for an introduction to rt programming with a gui

From: Gabriel M. Beddingfield <gabrbedd@email-addr-hidden>
Date: Thu May 20 2010 - 20:26:08 EEST

On Thu, 20 May 2010, Charles Fleche wrote:

>> well (e.g. if you write LV2 plugins based on Qt, as I have, you may
>> uncover some strange bugs).
>
> Really ? What happened ?

When I released the Composite Sampler, I had to solve two
tricky bugs:

   1. zynjacku's UI would freeze when loading it.
      Cause: Glib event loop initialization and PyGtk.
      Fix: zynjacku now initializes the Glib event
             loop, but this comes with some other
             undesirable side-effects.

   2. Ingen would crash at exit if you loaded the
      Composite plugin, and then unloaded it.
      Cause: When Qt initialized thread-local storage,
              it made an assumption that QtCore would
              only be unloaded at application exit.
      Fix: Qt's trunk has a fix to clean up TLS
              when the library is unloaded. I don't
              think it was backported to older
              release branches.[1]

Anyway, Qt is a large framework for cross-platform
application development (and very good at that). So, when
you use its core library (QString, QThread, etc.) in new and
non-standard ways (LV2 plugins) you're liable to find bugs
that violate the assumption: "This is a Qt application."

:-)

hth,
gabriel

[1] http://bugreports.qt.nokia.com/browse/QTBUG-9436
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Fri May 21 00:15:01 2010

This archive was generated by hypermail 2.1.8 : Fri May 21 2010 - 00:15:01 EEST