diff --git a/frontends/libretro/src/lib.rs b/frontends/libretro/src/lib.rs index a0f21ddaeb3336502fba32ce2d4a3af1105260ce..0026279fe2235e03f85a860762d3da4552101a22 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 }