fix up framestep too
This commit is contained in:
parent
0cac63811a
commit
32a5aa07ba
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue