diff --git a/src/utils/svgcursorreader.cpp b/src/utils/svgcursorreader.cpp index 38568db869..eab6b6412a 100644 --- a/src/utils/svgcursorreader.cpp +++ b/src/utils/svgcursorreader.cpp @@ -73,24 +73,28 @@ std::optional SvgCursorMetaData::parse(const QString &filePat return std::nullopt; } - QList entries; - if (document.isArray()) { - const QJsonArray array = document.array(); - for (int i = 0; i < array.size(); ++i) { - const QJsonValue element = array.at(i); - if (!element.isObject()) { - return std::nullopt; - } - if (const auto entry = SvgCursorMetaDataEntry::parse(element.toObject())) { - entries.append(entry.value()); - } else { - return std::nullopt; - } - } - } else { + if (!document.isArray()) { return std::nullopt; } + const QJsonArray array = document.array(); + if (array.isEmpty()) { + return std::nullopt; + } + + QList entries; + for (int i = 0; i < array.size(); ++i) { + const QJsonValue element = array.at(i); + if (!element.isObject()) { + return std::nullopt; + } + if (const auto entry = SvgCursorMetaDataEntry::parse(element.toObject())) { + entries.append(entry.value()); + } else { + return std::nullopt; + } + } + return SvgCursorMetaData{ .entries = entries, };