diff options
Diffstat (limited to 'src/libs/installer/metadatajob_p.h')
-rw-r--r-- | src/libs/installer/metadatajob_p.h | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/libs/installer/metadatajob_p.h b/src/libs/installer/metadatajob_p.h index 9160f4cc9..99b48e626 100644 --- a/src/libs/installer/metadatajob_p.h +++ b/src/libs/installer/metadatajob_p.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -29,8 +29,7 @@ #ifndef METADATAJOB_P_H #define METADATAJOB_P_H -#include "lib7z_extract.h" -#include "lib7z_facade.h" +#include "lib7zarchive.h" #include "metadatajob.h" #include <QDir> @@ -76,21 +75,15 @@ public: return; // ignore already canceled } - QFile archive(m_archive); - if (archive.open(QIODevice::ReadOnly)) { - try { - Lib7z::extractArchive(&archive, m_targetDir); - } catch (const Lib7z::SevenZipException& e) { - fi.reportException(UnzipArchiveException(MetadataJob::tr("Error while extracting " - "archive \"%1\": %2").arg(QDir::toNativeSeparators(m_archive), e.message()))); - } catch (...) { - fi.reportException(UnzipArchiveException(MetadataJob::tr("Unknown exception " - "caught while extracting archive \"%1\".").arg(QDir::toNativeSeparators(m_archive)))); - } - } else { + Lib7zArchive archive(m_archive); + if (!archive.open(QIODevice::ReadOnly)) { fi.reportException(UnzipArchiveException(MetadataJob::tr("Cannot open file \"%1\" for " "reading: %2").arg(QDir::toNativeSeparators(m_archive), archive.errorString()))); } + if (!archive.extract(m_targetDir)) { + fi.reportException(UnzipArchiveException(MetadataJob::tr("Error while extracting " + "archive \"%1\": %2").arg(QDir::toNativeSeparators(m_archive), archive.errorString()))); + } fi.reportFinished(); } |