It’s not due to anything that has changed in JUCE - the problem only occurs when building a host against the 10.14 macOS SDK and hosting plug-ins that use OpenGL. I’lll look into this a bit more but I’m not sure if there’s anything that we can do in JUCE, if you look on StackOverflow there are quite a few reports of black OpenGL windows on Mojave.
Interesting, thanks for posting that. I’m not sure that there’s much that we can do as a host though as this would need to be done in the actual window that is rendering the OpenGL, which we don’t control.
FYI, according to my tests (internal framework, not Juce) and some of my clients, building with XCode 10.2 and running under 10.4.4+ fixes the OpenGL issues.
Apparently Apple have fixed / reverted some changes related to OpenGL / Cocoa layer handling,
although there is no mention of this whatsoever in the release notes, as is often the case with them …
Yeah, I had to manually copy the 10.13 SDK in to the Xcode 10 app bundle to get it to actually build against the 10.13 SDK. Simply changing the setting in the PJ isn’t enough.
Yeah it’s not a very easy process. You need to download a version of XCode which comes with the version of the SDK that you want to use from https://developer.apple.com/download/more/ and then copy it across from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.x.sdk into your current Xcode’s contents.
You may also need to edit the .plist file located in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist and change the MinimumSDKVersion if you want to use earlier SDKs. Otherwise Xcode will just say that it can’t find the SDK, even if you have it in the correct folder.
Interesting stats. Looks like 10.13 is the last stable SDK (which we build with).
I wonder if Melda (and others) have updated to support SDKs later than yet… I’m not quite sure what would be involved but might be that they are just building against an older, incompatible SDK.
The latest release of the Melda plug-ins work correctly in a host built against the 10.15 SDK. Plug-in makers need to work around some OpenGL problems: