diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2014-12-08 11:43:52 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2014-12-08 12:49:30 +0100 |
commit | 7f2c98c8af2f6060728e8c31a85da798a72d13f1 (patch) | |
tree | 6101759d5380c0efd20fe9ed5982001ac0e1cd89 /src | |
parent | 883f9572e3c1655e4ae831180c43592624d7b911 (diff) |
Fix corruption of uninstaller operations after 'soft restart'1.6
After updates have been installed, the user can restart the maintenance
tool GUI, and check for updates again. If no updates are found then,
availableComponents() will remain empty, letting fetchUpdaterPackages() nuke
also all 'updaterComponentsDeps'. This in turn breaks
sortOperationsBasedOnComponentDependencies(), which needs the list of
components to calculate the order.
Work around this by forcing a write of the uninstaller data before the
core is re-initialized. This let the soft updater behave like an
independent updater run ... if no updates are installed, the uninstaller
is not written.
Task-number: QTIFW-600
Change-Id: I83659491b8e2c0c7a0478362a6c3a4dfaec542b3
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/sdk/tabcontroller.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp index d0e322251..8c9f2cc0d 100644 --- a/src/sdk/tabcontroller.cpp +++ b/src/sdk/tabcontroller.cpp @@ -171,6 +171,11 @@ void TabController::restartWizard() d->m_core->networkSettingsChanged(); } + // Make sure we are writing the .dat file with the list of uninstall operations already now. + // Otherwise we will write at the end of the next updater run, with a potentially + // empty component list (if no updates are found). + d->m_core->writeUninstaller(); + // restart and switch back to intro page QTimer::singleShot(0, this, SLOT(init())); } |