diff options
author | kh1 <karsten.heimrich@nokia.com> | 2011-08-16 13:52:49 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@nokia.com> | 2011-08-16 14:35:20 +0200 |
commit | 32298eb3f252a81d9c817121d2fc46b23eb2eb12 (patch) | |
tree | b913612ac2575e2e80a3864e76db38267bbd7eea /installerbuilder | |
parent | 1d62378085a2e193384e2022db834123129df131 (diff) |
Filter for unnamed opertions as well.
Change-Id: I698a13c8cdc3c390a37372307c13e187f24e10dc
Reviewed-on: http://codereview.qt.nokia.com/3008
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com>
Diffstat (limited to 'installerbuilder')
-rw-r--r-- | installerbuilder/libinstaller/packagemanagercore_p.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/installerbuilder/libinstaller/packagemanagercore_p.cpp b/installerbuilder/libinstaller/packagemanagercore_p.cpp index 1d906f87d..b85315f42 100644 --- a/installerbuilder/libinstaller/packagemanagercore_p.cpp +++ b/installerbuilder/libinstaller/packagemanagercore_p.cpp @@ -1263,10 +1263,13 @@ void PackageManagerCorePrivate::runPackageUpdater() } // Filter out the create target dir undo operation, it's only needed for full uninstall. - // TODO: Figure out a compat way for old create target dir undo operation (missing name and tag). - if (operation->value(QLatin1String("uninstall-only")).toBool()) { - nonRevertedOperations.append(operation); - continue; + // Note: We filter for unnamed operations as well, since old installations had the remove target + // dir operation without the "uninstall-only", which will result in an complete uninstallation + // during an update for the maintenance tool. + if (operation->value(QLatin1String("uninstall-only")).toBool() + || operation->value(QLatin1String("component")).toString().isEmpty()) { + nonRevertedOperations.append(operation); + continue; } undoOperations.prepend(operation); |