Struct juce::dsp::DelayLineInterpolationTypes::None clashes with X11

Juce 6.0.4 on Debian

The None struct declared in the juce::dsp::DelayLineInterpolationTypes namespace clashes with the None macro previously defined by X11 in one of its headers.

Adding it to the “hall of shame” in juce_StandardHeader.h didn’t work, probably because of the header inclusion order. My solution was to undefine it in place:

--- a/modules/juce_dsp/processors/juce_DelayLine.h
+++ b/modules/juce_dsp/processors/juce_DelayLine.h
@@ -23,6 +23,10 @@
   ==============================================================================
 */
 
+#ifdef JUCE_LINUX
+  #undef None // Defined in X11/X.h, clashes with struct None below
+#endif
+
 namespace juce
 {
 namespace dsp
1 Like