diff --git a/src/core/controller.cpp b/src/core/controller.cpp index a5f63e54..fc877f6f 100644 --- a/src/core/controller.cpp +++ b/src/core/controller.cpp @@ -64,6 +64,14 @@ Controller *Controller::getInstance() { // creation of a new capture in GUI mode void Controller::createVisualCapture(const uint id, const QString &forcedSavePath) { if (!m_captureWindow) { + QWidget *modalWidget = nullptr; + do { + modalWidget = qApp->activeModalWidget(); + if (modalWidget) { + modalWidget->close(); + modalWidget->deleteLater(); + } + } while (modalWidget); m_captureWindow = new CaptureWidget(id, forcedSavePath); connect(m_captureWindow, &CaptureWidget::captureFailed, this, &Controller::captureFailed);