As messy as it may sound, let me just pre-emptively state that I have a perfectly legitimate and reasonable reason to be triggering a CallOutBox from within another CallOutBox :D
On windows, it works fine. However, on OSX, I'm finding that showing a CallOutBox will cause the existing (and currently modal) CallOutBox to get dismissed via inputAttemptWhenModal(). It seems that by setting the new box to visible, some NSWindow-related stuff happens that results in this behaviour.
Here's a screenshot of the callstack (the selection has no intentional relevance).
[FYI: The 'CallOutEditor' class is just my own alternative to the CallOutBoxCallback - certainly, at this point in the callstack (its constructor), it really is no different, since setVisible is the first thing to be called - i.e. there's nothing else funky going on here!].
It took me a while to figure out how to get the debugger to let me hit breakpoints in the juce library code (thank goodness for the existing thread on that topic!). Oddly, the first time I successfully had breakpoints hit, the old callout didn't actually get dismissed, though it did get brought to the front on top of the new one. I've not seen that behaviour since though (it always dismisses when I try it now).
Any idea what could be done about it?