From 064616914b56891462e1f6bdc51dc1727e5c8123 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Thu, 10 Aug 2023 18:08:17 +0100
Subject: [PATCH] chore: handling of libretro state issues

---
 frontends/libretro/src/lib.rs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/frontends/libretro/src/lib.rs b/frontends/libretro/src/lib.rs
index a0f21dda..0026279f 100644
--- a/frontends/libretro/src/lib.rs
+++ b/frontends/libretro/src/lib.rs
@@ -403,7 +403,10 @@ pub extern "C" fn retro_unserialize(data: *const c_void, size: usize) -> bool {
     debugln!("retro_unserialize()");
     let instance = unsafe { EMULATOR.as_mut().unwrap() };
     let state = unsafe { from_raw_parts(data as *const u8, size) };
-    StateManager::load(state, instance).unwrap();
+    if let Err(err) = StateManager::load(state, instance) {
+        warnln!("Failed to load state: {}", err);
+        return false;
+    }
     true
 }
 
-- 
GitLab