Merge pull request #8026 from Pokechu22/fix-black-pause

Fix the screen going black on pause after changing windows
This commit is contained in:
Connor McLaughlin 2019-04-28 16:45:24 +10:00 committed by GitHub
commit 96c69fd048
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -52,6 +52,7 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
});
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, [this](Core::State state) {
// Stop filling the background once emulation starts, but fill it until then (Bug 10958)
SetFillBackground(Config::Get(Config::MAIN_RENDER_TO_MAIN) &&
state == Core::State::Uninitialized);
if (state == Core::State::Running)
@ -90,9 +91,15 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
void RenderWidget::SetFillBackground(bool fill)
{
setAutoFillBackground(fill);
setAttribute(Qt::WA_OpaquePaintEvent, !fill);
setAttribute(Qt::WA_NoSystemBackground, !fill);
setAutoFillBackground(fill);
setAttribute(Qt::WA_PaintOnScreen, !fill);
}
QPaintEngine* RenderWidget::paintEngine() const
{
return autoFillBackground() ? QWidget::paintEngine() : nullptr;
}
void RenderWidget::dragEnterEvent(QDragEnterEvent* event)

View File

@ -19,6 +19,7 @@ public:
bool event(QEvent* event) override;
void showFullScreen();
QPaintEngine* paintEngine() const override;
signals:
void EscapePressed();