Fix crash when switching fullscreen stretching modes when fullscreen

This commit is contained in:
Cacodemon345
2021-12-31 13:02:27 +06:00
parent 81055c03e2
commit 9b8650cae5
3 changed files with 7 additions and 1 deletions

View File

@@ -183,6 +183,7 @@ void RendererStack::switchRenderer(Renderer renderer) {
case Renderer::Software:
{
auto sw = new SoftwareRenderer(this);
rendererWindow = sw;
connect(this, &RendererStack::blitToRenderer, sw, &SoftwareRenderer::onBlit, Qt::QueuedConnection);
current.reset(this->createWindowContainer(sw, this));
}
@@ -191,6 +192,7 @@ void RendererStack::switchRenderer(Renderer renderer) {
{
this->createWinId();
auto hw = new HardwareRenderer(this);
rendererWindow = hw;
connect(this, &RendererStack::blitToRenderer, hw, &HardwareRenderer::onBlit, Qt::QueuedConnection);
current.reset(this->createWindowContainer(hw, this));
break;
@@ -199,6 +201,7 @@ void RendererStack::switchRenderer(Renderer renderer) {
{
this->createWinId();
auto hw = new HardwareRenderer(this, HardwareRenderer::RenderType::OpenGLES);
rendererWindow = hw;
connect(this, &RendererStack::blitToRenderer, hw, &HardwareRenderer::onBlit, Qt::QueuedConnection);
current.reset(this->createWindowContainer(hw, this));
break;
@@ -207,6 +210,7 @@ void RendererStack::switchRenderer(Renderer renderer) {
{
this->createWinId();
auto hw = new HardwareRenderer(this, HardwareRenderer::RenderType::OpenGL3);
rendererWindow = hw;
connect(this, &RendererStack::blitToRenderer, hw, &HardwareRenderer::onBlit, Qt::QueuedConnection);
current.reset(this->createWindowContainer(hw, this));
break;