From 53a44a82df881babbbfb612829bfd9ef1d16c94d Mon Sep 17 00:00:00 2001 From: AShiningRay Date: Sun, 23 Feb 2025 12:37:40 -0300 Subject: [PATCH] Libretro: Minor cleanups and fixes. MIDlets can close themselves without much of a problem in the libretro rendition, so no need for that MIDlet conditional anymore. Also use SIGSTOP for pausing, as it cannot be ignored. --- src/javax/microedition/midlet/MIDlet.java | 2 +- src/libretro/freej2me_libretro.c | 2 +- src/org/recompile/freej2me/Libretro.java | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/javax/microedition/midlet/MIDlet.java b/src/javax/microedition/midlet/MIDlet.java index fb3fab5d..d0c58236 100644 --- a/src/javax/microedition/midlet/MIDlet.java +++ b/src/javax/microedition/midlet/MIDlet.java @@ -60,7 +60,7 @@ public static void initAppProperties(HashMap initProperties) public final void notifyDestroyed() { Mobile.log(Mobile.LOG_INFO, MIDlet.class.getPackage().getName() + "." + MIDlet.class.getSimpleName() + ": " + "MIDlet sent Destroyed Notification"); - if(!Mobile.getPlatform().isLibretro) { System.exit(0); } + System.exit(0); } public final void notifyPaused() { } diff --git a/src/libretro/freej2me_libretro.c b/src/libretro/freej2me_libretro.c index 3dec2187..074bf26a 100755 --- a/src/libretro/freej2me_libretro.c +++ b/src/libretro/freej2me_libretro.c @@ -673,7 +673,7 @@ void pauseFreeJ2ME(bool pause) { #ifdef __linux__ // NOTE: Despite being a "kill" function, it really just sends a signal to stop and continue the process here - if(pause) { kill(javaProcess, SIGTSTP); } + if(pause) { kill(javaProcess, SIGSTOP); } else { kill(javaProcess, SIGCONT); } #elif _WIN32 // NOTE: Untested, tries to suspend/resume java app's main thread. diff --git a/src/org/recompile/freej2me/Libretro.java b/src/org/recompile/freej2me/Libretro.java index 268edaa5..4fc6dd0d 100644 --- a/src/org/recompile/freej2me/Libretro.java +++ b/src/org/recompile/freej2me/Libretro.java @@ -141,13 +141,11 @@ public Libretro(String args[]) private class LibretroIO { private Timer keytimer; - private TimerTask keytask; public void start() { keytimer = new Timer(); - keytask = new LibretroTimerTask(); - keytimer.schedule(keytask, 0, 1); + keytimer.schedule(new LibretroTimerTask(), 0, 1); } private class LibretroTimerTask extends TimerTask