mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 14:19:55 -06:00
fix up framestep too
This commit is contained in:
@ -461,10 +461,10 @@ void EmuThread::sendMessage(Message msg)
|
||||
msgMutex.unlock();
|
||||
}
|
||||
|
||||
void EmuThread::waitMessage()
|
||||
void EmuThread::waitMessage(int num)
|
||||
{
|
||||
if (QThread::currentThread() == this) return;
|
||||
msgSemaphore.acquire();
|
||||
msgSemaphore.acquire(num);
|
||||
}
|
||||
|
||||
void EmuThread::waitAllMessages()
|
||||
@ -537,6 +537,10 @@ void EmuThread::handleMessages()
|
||||
emit windowEmuStop();
|
||||
break;
|
||||
|
||||
case msg_EmuFrameStep:
|
||||
emuStatus = emuStatus_FrameStep;
|
||||
break;
|
||||
|
||||
case msg_InitGL:
|
||||
emuInstance->initOpenGL();
|
||||
useOpenGL = true;
|
||||
@ -610,8 +614,10 @@ void EmuThread::emuExit()
|
||||
|
||||
void EmuThread::emuFrameStep()
|
||||
{
|
||||
//if (emuPauseStack < emuPauseStackPauseThreshold) emit windowEmuPause();
|
||||
emuStatus = emuStatus_FrameStep;
|
||||
if (emuPauseStack < emuPauseStackPauseThreshold)
|
||||
sendMessage(msg_EmuPause);
|
||||
sendMessage(msg_EmuFrameStep);
|
||||
waitAllMessages();
|
||||
}
|
||||
|
||||
bool EmuThread::emuIsRunning()
|
||||
|
@ -63,6 +63,7 @@ public:
|
||||
msg_EmuPause,
|
||||
msg_EmuUnpause,
|
||||
msg_EmuStop,
|
||||
msg_EmuFrameStep,
|
||||
|
||||
msg_InitGL,
|
||||
msg_DeInitGL,
|
||||
@ -78,7 +79,7 @@ public:
|
||||
};
|
||||
|
||||
void sendMessage(Message msg);
|
||||
void waitMessage();
|
||||
void waitMessage(int num = 1);
|
||||
void waitAllMessages();
|
||||
|
||||
void sendMessage(MessageType type)
|
||||
|
Reference in New Issue
Block a user