mirror of https://github.com/PCSX2/pcsx2.git
GSdx: window management should be redone next.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4358 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
a820423c4b
commit
959580cd2e
|
@ -131,7 +131,7 @@ EXPORT_C_(int) GSinit()
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#endif
|
||||||
|
|
||||||
if(!SDL_WasInit(SDL_INIT_VIDEO))
|
if(!SDL_WasInit(SDL_INIT_VIDEO))
|
||||||
{
|
{
|
||||||
|
@ -141,8 +141,6 @@ EXPORT_C_(int) GSinit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,6 +152,8 @@ EXPORT_C GSshutdown()
|
||||||
|
|
||||||
s_renderer = -1;
|
s_renderer = -1;
|
||||||
|
|
||||||
|
SDL_Quit();
|
||||||
|
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
|
|
||||||
if(SUCCEEDED(s_hr))
|
if(SUCCEEDED(s_hr))
|
||||||
|
@ -163,10 +163,6 @@ EXPORT_C GSshutdown()
|
||||||
s_hr = E_FAIL;
|
s_hr = E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
SDL_Quit();
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -278,7 +278,7 @@ bool GSDevice11::Create(GSWnd* wnd)
|
||||||
|
|
||||||
if(m_wnd->IsManaged())
|
if(m_wnd->IsManaged())
|
||||||
{
|
{
|
||||||
SetExclusive(!!theApp.GetConfig("windowed", 1));
|
SetExclusive(!theApp.GetConfig("windowed", 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include "GSDeviceSDL.h"
|
#include "GSDeviceSDL.h"
|
||||||
|
|
||||||
GSDeviceSDL::GSDeviceSDL()
|
GSDeviceSDL::GSDeviceSDL()
|
||||||
: m_init(false)
|
: m_free_window(false)
|
||||||
, m_window(NULL)
|
, m_window(NULL)
|
||||||
, m_renderer(NULL)
|
, m_renderer(NULL)
|
||||||
, m_texture(NULL)
|
, m_texture(NULL)
|
||||||
|
@ -42,21 +42,25 @@ GSDeviceSDL::~GSDeviceSDL()
|
||||||
SDL_DestroyRenderer(m_renderer);
|
SDL_DestroyRenderer(m_renderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m_window != NULL)
|
if(m_window != NULL && m_free_window)
|
||||||
{
|
{
|
||||||
SDL_DestroyWindow(m_window);
|
SDL_DestroyWindow(m_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m_init)
|
|
||||||
{
|
|
||||||
SDL_Quit();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GSDeviceSDL::Create(GSWnd* wnd)
|
bool GSDeviceSDL::Create(GSWnd* wnd)
|
||||||
{
|
{
|
||||||
m_window = (SDL_Window*)wnd->GetHandle();
|
m_window = (SDL_Window*)wnd->GetHandle();
|
||||||
|
|
||||||
|
if(m_window == wnd->GetDisplay())
|
||||||
|
{
|
||||||
|
// HACK: no SDL window
|
||||||
|
|
||||||
|
m_window = SDL_CreateWindowFrom(wnd->GetHandle());
|
||||||
|
|
||||||
|
m_free_window = true;
|
||||||
|
}
|
||||||
|
|
||||||
return GSDeviceSW::Create(wnd);
|
return GSDeviceSW::Create(wnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,7 @@
|
||||||
|
|
||||||
class GSDeviceSDL : public GSDeviceSW
|
class GSDeviceSDL : public GSDeviceSW
|
||||||
{
|
{
|
||||||
bool m_init;
|
bool m_free_window;
|
||||||
|
|
||||||
SDL_Window* m_window;
|
SDL_Window* m_window;
|
||||||
SDL_Renderer* m_renderer;
|
SDL_Renderer* m_renderer;
|
||||||
SDL_Texture* m_texture;
|
SDL_Texture* m_texture;
|
||||||
|
|
Loading…
Reference in New Issue