[UI] Avoid too many ("deadlocking") modal dialogs

This commit is contained in:
Klaus Basan
2019-10-31 19:02:44 +01:00
committed by Mat Sutcliffe
parent 21a5c07e02
commit b1315593f8

View File

@@ -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);
}