bootmanager: Delete container to avoid crash on game restarting

While we are at it, remove nullptr checks for deletion, since the C++
standard defines that delete does it by its own
This commit is contained in:
ReinUsesLisp 2019-03-25 16:41:48 -03:00
parent 5f2d9f282a
commit 9ff72ca9f2
2 changed files with 10 additions and 14 deletions

View file

@ -340,21 +340,16 @@ std::unique_ptr<Core::Frontend::GraphicsContext> GRenderWindow::CreateSharedCont
} }
void GRenderWindow::InitRenderTarget() { void GRenderWindow::InitRenderTarget() {
if (shared_context) { shared_context.reset();
shared_context.reset(); context.reset();
}
if (context) { delete child;
context.reset(); child = nullptr;
}
if (child) { delete container;
delete child; container = nullptr;
}
if (layout()) { delete layout();
delete layout();
}
first_frame = false; first_frame = false;
@ -375,7 +370,7 @@ void GRenderWindow::InitRenderTarget() {
fmt.setSwapInterval(false); fmt.setSwapInterval(false);
child = new GGLWidgetInternal(this, shared_context.get()); child = new GGLWidgetInternal(this, shared_context.get());
QWidget* container = QWidget::createWindowContainer(child, this); container = QWidget::createWindowContainer(child, this);
QBoxLayout* layout = new QHBoxLayout(this); QBoxLayout* layout = new QHBoxLayout(this);
resize(Layout::ScreenUndocked::Width, Layout::ScreenUndocked::Height); resize(Layout::ScreenUndocked::Width, Layout::ScreenUndocked::Height);

View file

@ -166,7 +166,8 @@ private:
void OnMinimalClientAreaChangeRequest( void OnMinimalClientAreaChangeRequest(
const std::pair<unsigned, unsigned>& minimal_size) override; const std::pair<unsigned, unsigned>& minimal_size) override;
GGLWidgetInternal* child; QWidget* container = nullptr;
GGLWidgetInternal* child = nullptr;
QByteArray geometry; QByteArray geometry;