From 57ba435edb2fae1626581a769079b4cf8751044f Mon Sep 17 00:00:00 2001 From: Alexander Lohnau Date: Tue, 15 Mar 2022 19:16:08 +0100 Subject: [PATCH] PackageJobThread: Also check if metadata.json file exists When we update a package, there can be metadata.json file. It seems like this was just forgotten when the metadata.json checks were added elsewhere. --- src/kpackage/private/packagejobthread.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/kpackage/private/packagejobthread.cpp b/src/kpackage/private/packagejobthread.cpp index 7cd4b415..6123230d 100644 --- a/src/kpackage/private/packagejobthread.cpp +++ b/src/kpackage/private/packagejobthread.cpp @@ -263,7 +263,12 @@ bool PackageJobThread::installPackage(const QString &src, const QString &dest, O if (QFile::exists(targetName)) { if (operation == Update) { - KPluginMetaData oldMeta(targetName + QLatin1String("/metadata.desktop")); + KPluginMetaData oldMeta; + if (QFileInfo::exists(targetName + QLatin1String("/metadata.desktop"))) { + oldMeta = KPluginMetaData::fromDesktopFile(targetName + QLatin1String("/metadata.desktop")); + } else if (QFileInfo::exists(targetName + QLatin1String("/metadata.json"))) { + oldMeta = KPluginMetaData::fromJsonFile(targetName + QLatin1String("/metadata.json")); + } if (readKPackageTypes(oldMeta) != readKPackageTypes(meta)) { d->errorMessage = i18n("The new package has a different type from the old version already installed.");