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.
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.