diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp index ea55e68ba..8445d9fe3 100644 --- a/src/yuzu/bootmanager.cpp +++ b/src/yuzu/bootmanager.cpp @@ -340,21 +340,16 @@ std::unique_ptr GRenderWindow::CreateSharedCont } void GRenderWindow::InitRenderTarget() { - if (shared_context) { - shared_context.reset(); - } + shared_context.reset(); + context.reset(); - if (context) { - context.reset(); - } + delete child; + child = nullptr; - if (child) { - delete child; - } + delete container; + container = nullptr; - if (layout()) { - delete layout(); - } + delete layout(); first_frame = false; @@ -375,7 +370,7 @@ void GRenderWindow::InitRenderTarget() { fmt.setSwapInterval(false); child = new GGLWidgetInternal(this, shared_context.get()); - QWidget* container = QWidget::createWindowContainer(child, this); + container = QWidget::createWindowContainer(child, this); QBoxLayout* layout = new QHBoxLayout(this); resize(Layout::ScreenUndocked::Width, Layout::ScreenUndocked::Height); diff --git a/src/yuzu/bootmanager.h b/src/yuzu/bootmanager.h index d2a440d0d..c2f2fe87e 100644 --- a/src/yuzu/bootmanager.h +++ b/src/yuzu/bootmanager.h @@ -166,7 +166,8 @@ private: void OnMinimalClientAreaChangeRequest( const std::pair& minimal_size) override; - GGLWidgetInternal* child; + QWidget* container = nullptr; + GGLWidgetInternal* child = nullptr; QByteArray geometry;