diff --git a/src/platform/sdl/sdl-events.c b/src/platform/sdl/sdl-events.c index 54e4bf1ad..958ae2362 100644 --- a/src/platform/sdl/sdl-events.c +++ b/src/platform/sdl/sdl-events.c @@ -619,6 +619,16 @@ static void _mSDLHandleWindowEvent(struct mSDLPlayer* sdlContext, const struct S case SDL_WINDOWEVENT_SIZE_CHANGED: sdlContext->windowUpdated = 1; break; +#if PS3 + case SDL_WINDOWEVENT_LEAVE: + printf("XMB opened \n"); + // TODO: Pause emulation but keep pumping SDL events + break; + case SDL_WINDOWEVENT_ENTER: + printf("XMB closed \n"); + // TODO: Resume paused emulation + break; +#endif } } #else @@ -671,6 +681,11 @@ void mSDLHandleEvent(struct mCoreThread* context, struct mSDLPlayer* sdlContext, switch (event->type) { case SDL_QUIT: mCoreThreadEnd(context); +#if PS3 + printf("Quitting ...\n"); + SDL_Quit(); + exit(0); +#endif break; #if SDL_VERSION_ATLEAST(2, 0, 0) case SDL_WINDOWEVENT: