Hi Jules,
Running valgrind on my code, I noticed it complained about mismatched “new” alloc / “free” deallocation in XBitmapImage. Replacing the new by juce_malloc caused it to still complain in the call to XDestroyImage because there was a pointer in the XImage structure which was not initialised during construction. The following change fixes those two issues:
--- build/linux/platform_specific_code/juce_linux_Windowing.cpp (revision 422)
+++ build/linux/platform_specific_code/juce_linux_Windowing.cpp (working copy)
@@ -524,7 +524,8 @@
if (format_ == ARGB && clearImage)
zeromem (imageData, h * lineStride);
- xImage = new XImage();
+ xImage = (XImage*)juce_malloc(sizeof(XImage));
+ memset(xImage, 0, sizeof(XImage));
xImage->width = w;
xImage->height = h;
Another very small compilation bug that I encountered is that the compiler complains about “memset” not be declared while compiling juce_AudioFilterStreamer.cpp (there is a call to zeromem). an #include fixed it.
I should also add that “g+±4.3 -Wall -W” is issuing a lot of warnings similar to this one:
src/juce_appframework/gui/components/layout/juce_TabbedComponent.h:75: warning: type qualifiers ignored on function return type
(all functions returning a const value generate such a warning)
(btw is this the correct place for doing these kind of small bug-reports ?)