From ce98922f1a43a16dba18b59bcffb8df8616e6297 Mon Sep 17 00:00:00 2001 From: Maximilian Mader Date: Mon, 26 May 2025 18:18:20 +0200 Subject: [PATCH] Handle SDL_Quit event on PS3 Also added notes on XMB open / close events --- src/platform/sdl/sdl-events.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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: