mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 19:45:20 +00:00
gsframe: Break waiting is emulator is stopped suddenly
- Keeps the queue from hanging the GUI
This commit is contained in:
parent
ce2b790d8f
commit
395b4bfa45
1 changed files with 3 additions and 3 deletions
|
@ -246,10 +246,10 @@ bool gs_frame::event(QEvent* ev)
|
|||
bool gs_frame::nativeEvent(const QByteArray &eventType, void *message, long *result)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
if (wm_event_queue_enabled.load(std::memory_order_consume))
|
||||
if (wm_event_queue_enabled.load(std::memory_order_consume) && !Emu.IsStopped())
|
||||
{
|
||||
//Wait for consumer to clear notification pending flag
|
||||
while (wm_event_raised.load(std::memory_order_consume));
|
||||
while (wm_event_raised.load(std::memory_order_consume) && !Emu.IsStopped());
|
||||
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(wm_event_lock);
|
||||
|
@ -337,7 +337,7 @@ bool gs_frame::nativeEvent(const QByteArray &eventType, void *message, long *res
|
|||
}
|
||||
|
||||
//Do not enter DefWndProc until the consumer has consumed the message
|
||||
while (wm_event_raised.load(std::memory_order_consume));
|
||||
while (wm_event_raised.load(std::memory_order_consume) && !Emu.IsStopped());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue