Qt: Force redraw the display when restoring after minimized

This commit is contained in:
Connor McLaughlin
2020-03-22 21:50:49 +10:00
parent 361bedc2c3
commit 1d9bcb2a48
6 changed files with 42 additions and 0 deletions

View File

@ -189,6 +189,7 @@ QtDisplayWidget* QtHostInterface::createDisplayWidget()
m_display_widget = new OpenGLDisplayWidget(this, nullptr);
#endif
connect(m_display_widget, &QtDisplayWidget::windowResizedEvent, this, &QtHostInterface::onDisplayWidgetResized);
connect(m_display_widget, &QtDisplayWidget::windowRestoredEvent, this, &QtHostInterface::redrawDisplayWindow);
return m_display_widget;
}
@ -242,6 +243,20 @@ void QtHostInterface::onDisplayWidgetResized(int width, int height)
renderDisplay();
}
void QtHostInterface::redrawDisplayWindow()
{
if (!isOnWorkerThread())
{
QMetaObject::invokeMethod(this, "redrawDisplayWindow", Qt::QueuedConnection);
return;
}
if (!m_display_widget || !m_system)
return;
renderDisplay();
}
bool QtHostInterface::AcquireHostDisplay()
{
DebugAssert(!m_display_widget);