Problem when using X11 in 16-bit color depth


#1

Hi!

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.


#2

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…