summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/packagemanagercore.cpp12
-rw-r--r--src/libs/installer/packagemanagercore.h3
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp6
-rw-r--r--src/libs/installer/packagemanagercore_p.h2
-rw-r--r--src/libs/installer/packagemanagergui.cpp2
5 files changed, 16 insertions, 9 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 007354f5d..5a4deec3d 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -421,7 +421,7 @@ void PackageManagerCore::writeMaintenanceConfigFiles()
void PackageManagerCore::reset(const QHash<QString, QString> &params)
{
d->m_completeUninstall = false;
- d->m_forceRestart = false;
+ d->m_needsHardRestart = false;
d->m_status = PackageManagerCore::Unfinished;
d->m_installerBaseBinaryUnreplaced.clear();
@@ -596,11 +596,17 @@ int PackageManagerCore::downloadNeededArchives(double partProgressSize)
If a component marked as important was installed during update
process true is returned.
*/
-bool PackageManagerCore::needsRestart() const
+bool PackageManagerCore::needsHardRestart() const
{
- return d->m_forceRestart;
+ return d->m_needsHardRestart;
}
+void PackageManagerCore::setNeedsHardRestart(bool needsHardRestart)
+{
+ d->m_needsHardRestart = needsHardRestart;
+}
+
+
void PackageManagerCore::rollBackInstallation()
{
emit titleMessageChanged(tr("Cancelling the Installer"));
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h
index 20a3293fa..557c4d9ed 100644
--- a/src/libs/installer/packagemanagercore.h
+++ b/src/libs/installer/packagemanagercore.h
@@ -248,7 +248,8 @@ public:
int downloadNeededArchives(double partProgressSize);
- bool needsRestart() const;
+ bool needsHardRestart() const;
+ void setNeedsHardRestart(bool needsHardRestart = true);
bool finishedWithSuccess() const;
public Q_SLOTS:
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index 7cd2c292c..dc6b775f1 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -225,7 +225,7 @@ PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, q
, m_updaterApplication(new DummyConfigurationInterface)
, m_FSEngineClientHandler(initFSEngineClientHandler())
, m_status(PackageManagerCore::Unfinished)
- , m_forceRestart(false)
+ , m_needsHardRestart(false)
, m_testChecksum(false)
, m_launchedAsRoot(AdminAuthorization::hasAdminRights())
, m_completeUninstall(false)
@@ -1290,7 +1290,7 @@ void PackageManagerCorePrivate::writeUninstaller(OperationList performedOperatio
writeUninstallerBinary(&replacementBinary, replacementBinary.size(), true);
qDebug() << "Wrote the binary with the new replacement.";
- m_forceRestart = true;
+ m_needsHardRestart = true;
newBinaryWritten = true;
replacementExists = true;
} catch (const Error &error) {
@@ -1911,7 +1911,7 @@ void PackageManagerCorePrivate::installComponent(Component *component, double pr
throw Error(operation->errorString());
if (component->value(scEssential, scFalse) == scTrue)
- m_forceRestart = true;
+ m_needsHardRestart = true;
}
registerPathesForUninstallation(component->pathesForUninstallation(), component->name());
diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h
index d5bdc78fd..445235a0d 100644
--- a/src/libs/installer/packagemanagercore_p.h
+++ b/src/libs/installer/packagemanagercore_p.h
@@ -205,7 +205,7 @@ public:
int m_status;
QString m_error;
- bool m_forceRestart;
+ bool m_needsHardRestart;
bool m_testChecksum;
bool m_launchedAsRoot;
bool m_completeUninstall;
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 338e8fad9..247872614 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -1943,7 +1943,7 @@ int RestartPage::nextId() const
void RestartPage::entering()
{
- if (!packageManagerCore()->needsRestart()) {
+ if (!packageManagerCore()->needsHardRestart()) {
if (QAbstractButton *finish = wizard()->button(QWizard::FinishButton))
finish->setVisible(false);
QMetaObject::invokeMethod(this, "restart", Qt::QueuedConnection);