SDL_Window_Fullscreen issues on Mac with multiple monitors

I’m experiencing an issue with the SDL_Window_Fullscreen flag when running on a Mac with more than one monitor.

When fullscreen is activated in this way, my app will appear correctly in fullscreen, but all other monitors go black. I’ve debugged to check that the height and width values for the window are correct, because I’d assumed that maybe it was creating a huge window that spanned the entire width of my setup, but this isn’t the case; All of the values check out. Related to this issue is that when I try to exit from fullscreen after having either started the app in fullscreen or switched to fullscreen from windowed mode, the viewport resizes to the values I’d expect, but the area around the new ‘window’ is still black, as are the other monitors.

When the screen is set to fullscreen the code is:

SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN);

When it is being switched to windowed the code is:

SDL_SetWindowFullscreen(window, 0);

This works fine on windows.

As a temporary fix for the matter I’ve switched to using SDL_WINDOW_FULLSCREEN_DESKTOP, but I would prefer to use the original flag.

Is this a known issue, and is there a fix for it?

Thanks in advance!

This has been bugging me as well for a while. The DESKTOP thing works fine or let’s say good enough on SDL2.

Is there an equivalent for SDL 1.2x?