From 332c120c1fe328194e63cd7b0e4cb59e0a495b99 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sun, 21 Feb 2021 09:53:02 +1100 Subject: [PATCH] initialize project version and fail if couldn't find --- app/task/project/load/load.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/task/project/load/load.cpp b/app/task/project/load/load.cpp index 717815e9f..9deab8715 100644 --- a/app/task/project/load/load.cpp +++ b/app/task/project/load/load.cpp @@ -41,7 +41,7 @@ bool ProjectLoadTask::Run() if (project_file.open(QFile::ReadOnly | QFile::Text)) { QXmlStreamReader reader(&project_file); - uint project_version; + uint project_version = 0; while (XMLReadNextStartElement(&reader)) { if (reader.name() == QStringLiteral("olive")) { @@ -52,7 +52,7 @@ bool ProjectLoadTask::Run() project_version = reader.readElementText().toUInt(&ok); if (!ok) { - SetError(tr("Failed to determine project's version identifier.")); + SetError(tr("Failed to parse project version.")); return false; } else if (project_version > Core::kProjectVersion) { // Project is newer than we support @@ -66,6 +66,12 @@ bool ProjectLoadTask::Run() } else if (reader.name() == QStringLiteral("url")) { project_saved_url_ = reader.readElementText(); } else if (reader.name() == QStringLiteral("project")) { + if (project_version == 0) { + // Failed to find project version, throw error before we create project + SetError(tr("Failed to find project version.")); + return false; + } + project_ = new Project(); project_->set_filename(GetFilename());