Juce 1.28 in Slackware 10.2


#1

Hmm…
I’ve successfully compiled juce 1.28 in Slackware 10.2 with a little modification to juce_Socket.cpp in /src/juce_core/io/network. I commented line #39 to:

//#include <linux/types.h>

because typedef conflict. The jucedemo also compiled without any error but something odd during the runtime appears. I cannot click the menu so I couldn’t acces Audio Demo, OpenGL Demo and the rests.

What’s the problem?


#2

I also experience the same menu bar problems. I traced the problem to the LinuxComponentPeer::contains() function in juce_linux_Windowing.cpp. If you switch back the implementation of this function to the pre-1.27 implementation, it works as expected (and so does the demo).

I used this code:

    bool contains (int x, int y, bool trueIfInAChildWindow) const
    {
        if (x < 0 || y < 0)
            return false;

        ::Window root, child;
        unsigned int bw, depth;
        int wx, wy, w, h;

        if (! XGetGeometry (display, (Drawable) windowH, &root,
                            &wx, &wy, (unsigned int*) &w, (unsigned int*) &h,
                            &bw, &depth))
        {
            return false;
        }

        if (x >= w || y >= h)
            return false;

        if (trueIfInAChildWindow)
            return true;

        if (! XTranslateCoordinates (display, windowH, windowH, x, y, &wx, &wy, &child))
        {
            return false;
        }

        return child == None;
    }

BTW: I also had to uncomment the linux/types.h include.


#3

Ah - the menu clicking must be different because I’m using Gnome now, and you guys are on KDE?

I’ll try to get hold of a slackware installation and have a go in that…


#4

I’m on KDE indeed (a real fan btw ;)), but Fedora Core 4


#5

Ditto, but using FreeBSD.

I still need to load juce back up on that thing.


#6