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() {
if (shared_context) {
shared_context.reset();
}
if (context) {
context.reset();
}
if (child) {
delete child;
}
child = nullptr;
delete container;
container = nullptr;
if (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);

View file

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