Found some bugs


#1

I compiled the juce modules with clang++ and g++ and also added the -Wextra compile flag.

The compilers found some possible issues:

in juce_audio_devices/native/juce_linux_ALSA.cpp line 338, 359 and 372:

the JUCE_ALSA_LOG comes directly after an if() without braces, but when logging is disabled the macro expands to nothing, so the next statement belongs to the if

 

in juce_gui_basics/widgets/juce_Toolbar.cpp line 594 and 605:

in the conditions of the if()s is an abs() with a bool (comparison with < ) as argument. I think there is needs to be one more ) before the <

 

and I also have two notes:

in juce_core/native/juce_linux_Network.cpp line 305 and 341:

in fucntion readResponse the argument socketHandle, and in function writeHost the argument port is unused. these two positions are the only one the compiler gives a warning for, so maybe it would be nice to comment them out too.

 

the documentation for XmlDocument::getDocumentElement() and ValueTree::createXml() don't tell the caller to delete the results again.

 

I hope I didn't wrote too many reports in one post :)