summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp4
-rw-r--r--src/libs/kdtools/kdupdaterupdateoperation.cpp6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index a8da31405..ceb1e2f60 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -244,6 +244,7 @@ PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, q
qWarning() << "Failed to load XML for operation:" << operation.name;
continue;
}
+ op->setValue(QLatin1String("installer"), QVariant::fromValue(core));
m_performedOperationsOld.append(op.take());
}
@@ -1085,9 +1086,6 @@ void PackageManagerCorePrivate::writeMaintenanceToolBinaryData(QFileDevice *outp
const qint64 operationsStart = output->pos();
QInstaller::appendInt64(output, performedOperations.count());
foreach (Operation *operation, performedOperations) {
- // the installer can't be put into XML, remove it first
- operation->clearValue(QLatin1String("installer"));
-
QInstaller::appendString(output, operation->name());
QInstaller::appendString(output, operation->toXml().toString());
diff --git a/src/libs/kdtools/kdupdaterupdateoperation.cpp b/src/libs/kdtools/kdupdaterupdateoperation.cpp
index fed0f2cc9..8ecf6d3a5 100644
--- a/src/libs/kdtools/kdupdaterupdateoperation.cpp
+++ b/src/libs/kdtools/kdupdaterupdateoperation.cpp
@@ -408,6 +408,10 @@ QDomDocument UpdateOperation::toXml() const
// append all values set with setValue
QDomElement values = doc.createElement(QLatin1String("values"));
for (QVariantMap::const_iterator it = m_values.begin(); it != m_values.end(); ++it) {
+ // the installer can't be put into XML, ignore
+ if (it.key() == QLatin1String("installer"))
+ continue;
+
QDomElement value = doc.createElement(QLatin1String("value"));
const QVariant& variant = it.value();
value.setAttribute(QLatin1String("name"), it.key());
@@ -432,7 +436,7 @@ QDomDocument UpdateOperation::toXml() const
/*!
Restores operation arguments and values from the XML document \a doc. Returns \c true on
- success, otherwise \c false.
+ success, otherwise \c false. \note: Clears all previously set values and arguments.
*/
bool UpdateOperation::fromXml(const QDomDocument &doc)
{