Skip to content

Commit

Permalink
Fix crash when loading a monitor with a not found site
Browse files Browse the repository at this point in the history
  • Loading branch information
Bionus committed May 24, 2022
1 parent 3689d9b commit 372976c
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/lib/src/models/monitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <QJsonObject>
#include <QMap>
#include <utility>
#include "logger.h"
#include "models/profile.h"
#include "models/search-query/search-query.h"
#include "models/site.h"
Expand Down Expand Up @@ -161,11 +162,21 @@ Monitor Monitor::fromJson(const QJsonObject &json, Profile *profile)

QList<Site*> sites;
QJsonArray jsonSites = json["sites"].toArray();
for (auto site : jsonSites) {
sites.append(siteMap.value(site.toString()));
for (auto jsonSite : jsonSites) {
const QString site = jsonSite.toString();
if (siteMap.contains(site)) {
sites.append(siteMap.value(site));
} else {
log(QStringLiteral("Invalid source found for monitor: %1").arg(site), Logger::Error);
}
}
if (json.contains("site")) {
sites.append(siteMap.value(json["site"].toString()));
const QString site = json["site"].toString();
if (siteMap.contains(site)) {
sites.append(siteMap.value(site));
} else {
log(QStringLiteral("Invalid source found for monitor: %1").arg(site), Logger::Error);
}
}

const int interval = json["interval"].toInt();
Expand Down

0 comments on commit 372976c

Please sign in to comment.