I've been keeping in mind the advice from other threads about trying to avoid code called within #if JUCE_MODAL_LOOPS_PERMITTED blocks.
Whilst trying to decide whether to bend FileBasedDocument to my current task or just write something specialised, I noticed that most of it is in fact dependent upon this. I couldn't see any ready-made alternative, so I found myself wondering if maybe I'm missing something (since you recommend disabling modal loops, yet FileBasedDocument is used in Introjucer).
I figured I'd try actually disabling it myself (i.e. setting JUCE_MODAL_LOOPS_PERMITTED=0). However, I don't even seem to be able to compile a basic app [NOTE: only tried on windows so far] with this disabled - JUCEApplicationBase::main/quit both call functions in MessageManager that aren't defined without it.
Am I missing something? Should it actually work with this disabled, or is this something that actually isn't really ready to do on all platforms?
It's probably just baby-brain rendering me incapable of seeing something obvious!