Problem when using X11 in 16-bit color depth



First of all I want to say, Juce is really a great project. I’m playing with VST development and the ability to use The Jucer to create GUIs for VSTs is really cool!

I’m running X11 with 16-bit color depth. There is an assertion failure when using the debug version of the library, compiled from current SVN. When run under a debugger, this raises SIGTRAP. The error message is:

JUCE Assertion failure in /home/johannes/code/juce-svn/trunk/build/linux/platform_specific_code/juce_linux_Windowing.cpp, line 663

The code around line 663 looks like this:

            int ls, ps;
            const uint8* const pixels = lockPixelDataReadOnly (0, 0, getWidth(), getHeight(), ls, ps);

            jassert (! isARGB())

            for (int y = sy; y < sy + dh; ++y)
                const uint8* p = pixels + y * ls + sx * ps;

The code seems to think that ARGB images aren’t supported (?) but the GUI looks fine. I’m not using any custom images, just some sliders generated with the Jucer.


Ok, well I guess that it’d just about get away with running that code for an ARGB image, but only because the RGB byte order happens to work out the same. I might remove the assertion…