From 5dc56b98e896c9e246443354d77bb91a90c16c0a Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Mon, 11 Jan 2016 02:36:56 -0800 Subject: [PATCH] Qt: Fix savestate problems in BIOS boot --- src/platform/qt/GameController.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/platform/qt/GameController.cpp b/src/platform/qt/GameController.cpp index 401964cd4..17cde61eb 100644 --- a/src/platform/qt/GameController.cpp +++ b/src/platform/qt/GameController.cpp @@ -110,7 +110,7 @@ GameController::GameController(QObject* parent) context->gba->video.renderer->disableOBJ = !controller->m_videoLayers[4]; controller->m_fpsTarget = context->fpsTarget; - if (GBALoadState(context, context->dirs.state, 0, SAVESTATE_SCREENSHOT)) { + if (context->dirs.state && GBALoadState(context, context->dirs.state, 0, SAVESTATE_SCREENSHOT)) { VFile* vf = GBAGetState(context->gba, context->dirs.state, 0, true); if (vf) { vf->truncate(vf, 0); @@ -696,6 +696,10 @@ void GameController::setUseBIOS(bool use) { } void GameController::loadState(int slot) { + if (!m_threadContext.fname) { + // We're in the BIOS + return; + } if (slot > 0 && slot != m_stateSlot) { m_stateSlot = slot; m_backupSaveState.clear(); @@ -714,6 +718,10 @@ void GameController::loadState(int slot) { } void GameController::saveState(int slot) { + if (!m_threadContext.fname) { + // We're in the BIOS + return; + } if (slot > 0) { m_stateSlot = slot; }