diff --git a/UI/log-viewer.cpp b/UI/log-viewer.cpp index 0ce2acca3..4af26671a 100644 --- a/UI/log-viewer.cpp +++ b/UI/log-viewer.cpp @@ -16,6 +16,7 @@ OBSLogViewer::OBSLogViewer(QWidget *parent) : QDialog(parent) { setWindowFlags(windowFlags() & Qt::WindowMaximizeButtonHint & ~Qt::WindowContextHelpButtonHint); + setAttribute(Qt::WA_DeleteOnClose); QVBoxLayout *layout = new QVBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); @@ -35,7 +36,7 @@ OBSLogViewer::OBSLogViewer(QWidget *parent) : QDialog(parent) connect(openButton, &QPushButton::clicked, this, &OBSLogViewer::OpenFile); QPushButton *closeButton = new QPushButton(QTStr("Close")); - connect(closeButton, &QPushButton::clicked, this, &QDialog::hide); + connect(closeButton, &QPushButton::clicked, this, &QDialog::close); bool showLogViewerOnStartup = config_get_bool( App()->GlobalConfig(), "LogViewer", "ShowLogStartup"); diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 53d4a4ac4..8082b4d47 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -2554,7 +2554,6 @@ OBSBasic::~OBSBasic() updateCheckThread->wait(); delete screenshotData; - delete logView; delete multiviewProjectorMenu; delete previewProjector; delete studioProgramProjector; @@ -5725,15 +5724,12 @@ void OBSBasic::on_actionViewCurrentLog_triggered() if (!logView) logView = new OBSLogViewer(); - if (!logView->isVisible()) { - logView->setVisible(true); - } else { - logView->setWindowState( - (logView->windowState() & ~Qt::WindowMinimized) | - Qt::WindowActive); - logView->activateWindow(); - logView->raise(); - } + logView->show(); + logView->setWindowState( + (logView->windowState() & ~Qt::WindowMinimized) | + Qt::WindowActive); + logView->activateWindow(); + logView->raise(); } void OBSBasic::on_actionShowCrashLogs_triggered() diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index f8131956d..8d541e983 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -218,8 +218,7 @@ private: QPointer statsDock; QPointer about; QPointer missDialog; - - OBSLogViewer *logView = nullptr; + QPointer logView; QPointer cpuUsageTimer; QPointer diskFullTimer;