From b1315593f8e37cb1bf51bfef8dc599d1d1fc6295 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 31 Oct 2019 19:02:44 +0100 Subject: [PATCH] [UI] Avoid too many ("deadlocking") modal dialogs --- src/swiftguistandard/swiftguistd.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/swiftguistandard/swiftguistd.cpp b/src/swiftguistandard/swiftguistd.cpp index 31767dba7..0fe5c0f6b 100644 --- a/src/swiftguistandard/swiftguistd.cpp +++ b/src/swiftguistandard/swiftguistd.cpp @@ -485,6 +485,15 @@ void SwiftGuiStd::onValidatedModelSet(const CSimulatorInfo &simulator, const CAi { // will NOT be called if no errors and setting is "only on errors" if (!sGui || sGui->isShuttingDown()) { return; } + if (QApplication::activeModalWidget()) + { + // avoid too many "deadlocking" dialogs, display warning instead + if (invalid.isEmpty()) { return; } + const CStatusMessage m = CLogMessage(this).validationWarning(u"Model set validation has found %1 invalid models for '%2', check the model validation") << invalid.size() << simulator.toQString(true); + this->displayInOverlayWindow(m, 5000); + return; + } + this->displayValidationDialog(); m_validationDialog->validatedModelSet(simulator, valid, invalid, stopped, msgs); }