From 16759394c7a4c4fae4d391fec2c801a3d7388b36 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Thu, 18 Apr 2024 18:53:08 -0400 Subject: [PATCH] Clear model viewer before adding another model, prevent crash --- mdlviewer/src/mainwindow.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mdlviewer/src/mainwindow.cpp b/mdlviewer/src/mainwindow.cpp index 201daf7..aa1070f 100644 --- a/mdlviewer/src/mainwindow.cpp +++ b/mdlviewer/src/mainwindow.cpp @@ -69,11 +69,15 @@ void MainWindow::setupFileMenu(QMenu *menu) openMDLFile->setIcon(QIcon::fromTheme(QStringLiteral("document-open"))); connect(openMDLFile, &QAction::triggered, [this] { auto fileName = QFileDialog::getOpenFileName(nullptr, i18nc("@title:window", "Open MDL File"), QStringLiteral("~"), i18n("FFXIV Model File (*.mdl)")); - setWindowTitle(fileName); + if (!fileName.isEmpty()) { + part->clear(); - auto buffer = physis_read_file(fileName.toStdString().c_str()); + setWindowTitle(fileName); - part->addModel(physis_mdl_parse(buffer), false, glm::vec3(), QStringLiteral("mdl"), {}, 0); + auto buffer = physis_read_file(fileName.toStdString().c_str()); + + part->addModel(physis_mdl_parse(buffer), false, glm::vec3(), QStringLiteral("mdl"), {}, 0); + } }); }