From aa8139fcb4fba89efe089fcd4f747f055546a924 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 21 Nov 2016 17:59:01 +0100 Subject: [PATCH] Add checks of any current captures or temp logs when closing main window --- qrenderdoc/Windows/Dialogs/LiveCapture.h | 2 ++ qrenderdoc/Windows/MainWindow.cpp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/qrenderdoc/Windows/Dialogs/LiveCapture.h b/qrenderdoc/Windows/Dialogs/LiveCapture.h index c7b27fd23..2df1ba8ab 100644 --- a/qrenderdoc/Windows/Dialogs/LiveCapture.h +++ b/qrenderdoc/Windows/Dialogs/LiveCapture.h @@ -66,8 +66,10 @@ private slots: void on_previewSplit_splitterMoved(int pos, int index); // manual slots +public slots: bool checkAllowClose(); +private slots: void childUpdate(); void captureCountdownTick(); diff --git a/qrenderdoc/Windows/MainWindow.cpp b/qrenderdoc/Windows/MainWindow.cpp index ec8cf1468..e6f31f571 100644 --- a/qrenderdoc/Windows/MainWindow.cpp +++ b/qrenderdoc/Windows/MainWindow.cpp @@ -973,6 +973,27 @@ void MainWindow::loadLayout_triggered() void MainWindow::closeEvent(QCloseEvent *event) { + for(LiveCapture *live : m_LiveCaptures) + { + if(!live->checkAllowClose()) + { + event->ignore(); + return; + } + } + + if(!PromptCloseLog()) + { + event->ignore(); + return; + } + + for(LiveCapture *live : m_LiveCaptures) + { + live->cleanItems(); + live->close(); + } + SaveLayout(0); }