Am 15.09.2011 15:33, schrieb Paul Davis: > On Thu, Sep 15, 2011 at 9:19 AM, Sebastian H. <[email protected]> wrote: >> QasMixer version 0.14.0 is now available. >> >> QasMixer is an ALSA mixer with a customized Qt GUI. >> >> >> Changes: >> >> * Cairo painting replaced with native Qt painting > > what was the reason for this change?
That's a longe story... In Qt 4.6.3, which is what I used with Debian/Squeeze, it wasn't safe to paint in parallel threads even if it was for totally separate offscreen images. It's a known/fixed bug https://bugreports.qt.nokia.com/browse/QTBUG-14614 I liked to go for multithreading for the next version and that's why the switch to Cairo was done in QasMixer 0.13.0. Cairo was thread safe in version 1.8 (Debian/Squeeze) but oddly enough it wasn't thread safe in version 1.10 anymore (Debian/Wheezy). But I've discovered that when the switch to Cairo was already done. A solution to this was to blacklisted Cairo 1.10 from using multithreading for QasMixer 0.13.0. But after taking the blacklist way anyway it seemed better to stay with Qt's painting engine in the first place and rather go and blacklist Qt 4.6.3 from using multithreading. After all QasMixer is a Qt application and using Cairo pulled in a tail of dependencies that could be avoided. It was a nice excursion to Cairo though. In a way I like the painting model better than model of Qt where it is easy to forget to set/unset the QPen or the QBrush. The automatic memory handling in C++ destructors on the other hand makes Qt painting a bit more readable. _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
