From b5cd79371b2bbf1b7cafa593e084366515a432a5 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 15 Nov 2008 20:04:22 +0000 Subject: [PATCH] Win32 - fix NDS_UnPause to not attempt to unpause if no ROM is loaded (causes a rom to try to be loaded and errors). NDS_Pause and NDS_UnPause only respond if paused = false or true respectively. Minor fix to Drag and Drop --- desmume/src/windows/main.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/desmume/src/windows/main.cpp b/desmume/src/windows/main.cpp index fec383b9c..6386eb6f1 100644 --- a/desmume/src/windows/main.cpp +++ b/desmume/src/windows/main.cpp @@ -989,19 +989,25 @@ DWORD WINAPI run() void NDS_Pause() { - execute = FALSE; - paused = TRUE; - SPU_Pause(1); - while (!paused) {} - printlog("Paused\n"); + if (!paused) + { + execute = FALSE; + paused = TRUE; + SPU_Pause(1); + while (!paused) {} + printlog("Paused\n"); + } } void NDS_UnPause() { - paused = FALSE; - execute = TRUE; - SPU_Pause(0); - printlog("Unpaused\n"); + if (romloaded && paused) + { + paused = FALSE; + execute = TRUE; + SPU_Pause(0); + printlog("Unpaused\n"); + } } void StateSaveSlot(int num) @@ -1693,8 +1699,8 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM EnableMenuItem(menu, IDM_GAME_INFO, MF_ENABLED); EnableMenuItem(menu, IDM_IMPORTBACKUPMEMORY, MF_ENABLED); romloaded = TRUE; - NDS_UnPause(); } + NDS_UnPause(); } return 0; case WM_MOUSEMOVE: