I am unfortunately still getting this assertion triggering:
#if JUCE_DEBUG && ! JUCE_DISABLE_AUDIOPROCESSOR_BEGIN_END_GESTURE_CHECKING
// This means you've called beginChangeGesture twice in succession without
// a matching call to endChangeGesture. That might be fine in most hosts,
// but it would be better to avoid doing it.
jassert (! isPerformingGesture);
isPerformingGesture = true;
#endif
I added JUCE_ASSERT_MESSAGE_THREAD
to Button::setToggleState
, and it does not fire, so that’s ok as you thought. I’ll test some more tomorrow after a deep clean and reboot. My experience with AU* plugin development to date indicates not to trust that a simple rebuild in Xcode will replace the previous state of everything. Things magically work then fail then work, all based on the same code.