Merge pull request #8819 from JosJuice/panic-alert-deadlock-pause-on-focus-loss

DolphinQt: Fix the panic alert deadlock, Pause on Focus Loss edition
This commit is contained in:
JMC47 2020-09-15 11:46:46 -04:00 committed by GitHub
commit e0117a86ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 1 deletions

View File

@ -203,7 +203,13 @@ bool RenderWidget::event(QEvent* event)
break;
case QEvent::WindowDeactivate:
if (SConfig::GetInstance().m_PauseOnFocusLost && Core::GetState() == Core::State::Running)
Core::SetState(Core::State::Paused);
{
// If we are declared as the CPU thread, it means that the real CPU thread is waiting
// for us to finish showing a panic alert (with that panic alert likely being the cause
// of this event), so trying to pause the real CPU thread would cause a deadlock
if (!Core::IsCPUThread())
Core::SetState(Core::State::Paused);
}
emit FocusChanged(false);
break;