SDL: PSP: Throw SDL_Quit event upon exit

From e52e68d1602483f442adf0d49b1852e7d7435356 Mon Sep 17 00:00:00 2001
From: Wouter Wijsman <[EMAIL REDACTED]>
Date: Sun, 18 Aug 2024 13:25:18 +0200
Subject: [PATCH] PSP: Throw SDL_Quit event upon exit

---
 src/main/psp/SDL_psp_main.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/main/psp/SDL_psp_main.c b/src/main/psp/SDL_psp_main.c
index 3d083cc75a9fd..0c3053180b5e6 100644
--- a/src/main/psp/SDL_psp_main.c
+++ b/src/main/psp/SDL_psp_main.c
@@ -8,6 +8,8 @@
 #include "SDL_main.h"
 #include <pspkernel.h>
 #include <pspthreadman.h>
+#include "SDL_events.h"
+#include "SDL_timer.h"
 
 #ifdef main
 #undef main
@@ -28,7 +30,15 @@ PSP_MAIN_THREAD_ATTR(THREAD_ATTR_VFPU | THREAD_ATTR_USER);
 
 int sdl_psp_exit_callback(int arg1, int arg2, void *common)
 {
-    sceKernelExitGame();
+    SDL_Event exit_event;
+    SDL_QuitEvent quit;
+
+    quit.type = SDL_QUIT;
+    quit.timestamp = SDL_GetTicks();
+
+    exit_event.quit = quit;
+
+    SDL_PushEvent(&exit_event);
     return 0;
 }