summaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 76101be1..ea46b175 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -727,8 +727,13 @@ bool MainWindow::errorReported(QString &logFile)
size_t MainWindow::checkForProblems()
{
size_t numProblems = 0;
- for (IPluginDiagnose *diagnose : m_PluginContainer.plugins<IPluginDiagnose>()) {
- numProblems += diagnose->activeProblems().size();
+ for (QObject *pluginObj : m_PluginContainer.plugins<QObject>()) {
+ IPlugin *plugin = qobject_cast<IPlugin*>(pluginObj);
+ if (plugin == nullptr || plugin->isActive()) {
+ IPluginDiagnose *diagnose = qobject_cast<IPluginDiagnose*>(pluginObj);
+ if (diagnose != nullptr)
+ numProblems += diagnose->activeProblems().size();
+ }
}
return numProblems;
}
@@ -6063,7 +6068,7 @@ void MainWindow::on_bsaList_itemChanged(QTreeWidgetItem*, int)
void MainWindow::on_actionNotifications_triggered()
{
updateProblemsButton();
- ProblemsDialog problems(m_PluginContainer.plugins<IPluginDiagnose>(), this);
+ ProblemsDialog problems(m_PluginContainer.plugins<QObject>(), this);
if (problems.hasProblems()) {
QSettings &settings = m_OrganizerCore.settings().directInterface();
QString key = QString("geometry/%1").arg(problems.objectName());