xbmc/xbmc — pull request #3516 by Memphiz (2013-10-28 23:01:34+00:00)
Title: [osx] - fix windowed/fullscreen transitions with multi screen setups

This fixes the issue that XBMC always was fullscreened at screen 0 when going from windowed to fullscreen.

What we do know. We register for screenchanged callbacks - those are fired whenever xbmc is dragged to a different screen in windowed mode.

If we noticed that we moved screens in windowed mode - the next call to WinSysemBase::GetCurrentScreen will return the current screen our window is at.

In all other cases we return the last screen we were fullscreened at.

Use cases i have tested:

Use case 1
1. Windowed on Screen 0 -> go to fullscreen (apple+f) -> goes to fullscreen on screen 0
2. From fullscreen on screen 0 switch to fullscreen to screen 1 in settings (e.x. Fullscreen #2)
3. Switch to windowed (apple + f) - we get windowed where we were before on screen 0
4. Switch to full screen (apple + f) - we get fullscreened where we were before on screen 1

Use case 2:
1. Windowed on Screen 0 -> go to fullscreen (apple+f) -> goes to fullscreen on screen 0
2. Go to windowed mode (apple + f ) -> goes to windowed where we were before on screen 0
3. Drag the window to screen 1
4. Go to fullscreen (apple + f) -> we get fullscreened on screen 1 now (not on 0 where we were before).

@jmarshallnz this should fix the thing we realised on devcon properly now ... could you test it please?