Revert "SDL: handle SDL_QUIT event"

This commit is contained in:
Matthew Parlane 2015-06-08 13:43:39 +12:00
parent 5c7caf1f22
commit 9e1aab663f
6 changed files with 9 additions and 26 deletions

View File

@ -136,7 +136,6 @@ enum HOST_COMM
WM_USER_STOP = 10, WM_USER_STOP = 10,
WM_USER_CREATE, WM_USER_CREATE,
WM_USER_SETCURSOR, WM_USER_SETCURSOR,
WM_USER_QUIT,
}; };
// Used for notification on emulation state // Used for notification on emulation state

View File

@ -777,10 +777,6 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
case IDM_STOPPED: case IDM_STOPPED:
OnStopped(); OnStopped();
break; break;
case WM_USER_QUIT:
Close(true);
break;
} }
} }

View File

@ -49,7 +49,7 @@ void Host_RefreshDSPDebuggerWindow() {}
static Common::Event updateMainFrameEvent; static Common::Event updateMainFrameEvent;
void Host_Message(int Id) void Host_Message(int Id)
{ {
if (Id == WM_USER_STOP || Id == WM_USER_QUIT) if (Id == WM_USER_STOP)
running = false; running = false;
} }

View File

@ -134,11 +134,6 @@ void ControllerInterface::Shutdown()
// //
void ControllerInterface::UpdateInput() void ControllerInterface::UpdateInput()
{ {
#ifdef CIFACE_USE_SDL
// SDL currently also handles SIGINT and SIGTERM,
// so make sure to update it even if there is no SDL device.
ciface::SDL::UpdateInput();
#endif
for (ciface::Core::Device* d : m_devices) for (ciface::Core::Device* d : m_devices)
d->UpdateInput(); d->UpdateInput();
} }

View File

@ -7,7 +7,6 @@
#include <sstream> #include <sstream>
#include "Common/StringUtil.h" #include "Common/StringUtil.h"
#include "Core/Host.h"
#include "InputCommon/ControllerInterface/SDL/SDL.h" #include "InputCommon/ControllerInterface/SDL/SDL.h"
#ifdef _WIN32 #ifdef _WIN32
@ -68,19 +67,6 @@ void Init( std::vector<Core::Device*>& devices )
} }
} }
void UpdateInput()
{
// Using SDL_INIT_JOYSTICK implies SDL_INIT_EVENT which installs a signal handler for SIGINT and SIGTERM.
// In the future, we will be able to prevent this from happening:
// SDL_SetHint(SDL_HINT_NO_SIGNAL_HANDLERS, "1");
// but this was added after SDL 2.0.3 and is scheduled to be included in 2.0.4.
// Until then, handle SDL_QUIT events here and tell Dolphin to exit.
if (SDL_QuitRequested())
Host_Message(WM_USER_QUIT);
SDL_JoystickUpdate();
}
Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsigned int index) Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsigned int index)
: m_joystick(joystick) : m_joystick(joystick)
, m_sdl_index(sdl_index) , m_sdl_index(sdl_index)
@ -297,6 +283,12 @@ void Joystick::LeftRightEffect::SetSDLHapticEffect(ControlState state)
} }
#endif #endif
void Joystick::UpdateInput()
{
// each joystick is doin this, o well
SDL_JoystickUpdate();
}
std::string Joystick::GetName() const std::string Joystick::GetName() const
{ {
return StripSpaces(GetJoystickName(m_sdl_index)); return StripSpaces(GetJoystickName(m_sdl_index));

View File

@ -25,7 +25,6 @@ namespace SDL
{ {
void Init( std::vector<Core::Device*>& devices ); void Init( std::vector<Core::Device*>& devices );
void UpdateInput();
class Joystick : public Core::Device class Joystick : public Core::Device
{ {
@ -131,6 +130,8 @@ private:
#endif #endif
public: public:
void UpdateInput() override;
Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsigned int index); Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsigned int index);
~Joystick(); ~Joystick();