From 3c228dad60a214d5578b5670ff673abd7a07f1e8 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Fri, 3 Jun 2022 23:45:34 -0700 Subject: [PATCH] Qt: Fix games not displaying on macOS after first run --- src/platform/qt/DisplayGL.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/platform/qt/DisplayGL.cpp b/src/platform/qt/DisplayGL.cpp index 678f9d612..221acffc0 100644 --- a/src/platform/qt/DisplayGL.cpp +++ b/src/platform/qt/DisplayGL.cpp @@ -203,6 +203,8 @@ void DisplayGL::startDrawing(std::shared_ptr controller) { QMetaObject::invokeMethod(m_painter.get(), "start"); if (!m_gl) { setUpdatesEnabled(false); + } else { + show(); } } @@ -265,6 +267,9 @@ void DisplayGL::stopDrawing() { m_hasStarted = false; CoreController::Interrupter interrupter(m_context); QMetaObject::invokeMethod(m_painter.get(), "stop", Qt::BlockingQueuedConnection); + if (m_gl) { + hide(); + } setUpdatesEnabled(true); } m_context.reset(); @@ -274,9 +279,7 @@ void DisplayGL::pauseDrawing() { if (m_hasStarted) { m_isDrawing = false; QMetaObject::invokeMethod(m_painter.get(), "pause", Qt::BlockingQueuedConnection); -#ifndef Q_OS_MAC setUpdatesEnabled(true); -#endif } } @@ -284,11 +287,9 @@ void DisplayGL::unpauseDrawing() { if (m_hasStarted) { m_isDrawing = true; QMetaObject::invokeMethod(m_painter.get(), "unpause", Qt::BlockingQueuedConnection); -#ifndef Q_OS_MAC if (!m_gl) { setUpdatesEnabled(false); } -#endif } }