diff --git a/src/video/windowsrt/SDL_WinRTApp.cpp b/src/video/windowsrt/SDL_WinRTApp.cpp index 45b1ba30b..480eda734 100644 --- a/src/video/windowsrt/SDL_WinRTApp.cpp +++ b/src/video/windowsrt/SDL_WinRTApp.cpp @@ -198,6 +198,11 @@ SDL_DisplayMode SDL_WinRTApp::GetMainDisplayMode() return mode; } +const SDL_WindowData * SDL_WinRTApp::GetSDLWindowData() const +{ + return m_sdlWindowData; +} + bool SDL_WinRTApp::HasSDLWindowData() const { return (m_sdlWindowData != NULL); diff --git a/src/video/windowsrt/SDL_WinRTApp.h b/src/video/windowsrt/SDL_WinRTApp.h index 68daeb3b8..af9d0bd22 100644 --- a/src/video/windowsrt/SDL_WinRTApp.h +++ b/src/video/windowsrt/SDL_WinRTApp.h @@ -23,8 +23,9 @@ internal: // SDL-specific methods SDL_DisplayMode GetMainDisplayMode(); void PumpEvents(); + const SDL_WindowData * GetSDLWindowData() const; bool HasSDLWindowData() const; - void SetSDLWindowData(const SDL_WindowData* windowData); + void SetSDLWindowData(const SDL_WindowData * windowData); protected: // Event Handlers. diff --git a/src/video/windowsrt/SDL_winrtvideo.cpp b/src/video/windowsrt/SDL_winrtvideo.cpp index ec67c9570..16a0474b9 100644 --- a/src/video/windowsrt/SDL_winrtvideo.cpp +++ b/src/video/windowsrt/SDL_winrtvideo.cpp @@ -168,7 +168,8 @@ WINRT_CreateWindow(_THIS, SDL_Window * window) void WINRT_DestroyWindow(_THIS, SDL_Window * window) { - if (SDL_WinRTGlobalApp->HasSDLWindowData()) + if (SDL_WinRTGlobalApp->HasSDLWindowData() && + SDL_WinRTGlobalApp->GetSDLWindowData()->sdlWindow == window) { SDL_WinRTGlobalApp->SetSDLWindowData(NULL); }