From 26ba9e62f36871c71df8ed54509d22b9c19d0c56 Mon Sep 17 00:00:00 2001 From: Riho Pihlak Date: Sun, 24 Apr 2016 15:28:02 +0300 Subject: UpdateInfo: Fix checking for updates Checking for updates failed when MaintenanceTool printed out log messages. MaintenanceTool is expected to print out only xml data. So, parsing the output failed. MaintenanceTool printed out warnings about SSL and Qt account. Logging is now disabled when running MaintenanceTool. Change-Id: Ib163dae81368c8fec7218e5961590e07c208a73e Reviewed-by: Eike Ziller --- src/plugins/updateinfo/updateinfoplugin.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/plugins/updateinfo') diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index a8c7ea64b99..b6fb7fd21ef 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -123,7 +123,9 @@ void UpdateInfoPlugin::startCheckForUpdates() { stopCheckForUpdates(); - d->m_checkUpdatesCommand = new ShellCommand(QString(), QProcessEnvironment()); + QProcessEnvironment env; + env.insert("QT_LOGGING_RULES", "*=false"); + d->m_checkUpdatesCommand = new ShellCommand(QString(), env); connect(d->m_checkUpdatesCommand, &ShellCommand::stdOutText, this, &UpdateInfoPlugin::collectCheckForUpdatesOutput); connect(d->m_checkUpdatesCommand, &ShellCommand::finished, this, &UpdateInfoPlugin::checkForUpdatesFinished); d->m_checkUpdatesCommand->addJob(Utils::FileName(QFileInfo(d->m_maintenanceTool)), QStringList(QLatin1String("--checkupdates"))); -- cgit v1.2.3 From ba75cf8b6d27008fb6b2c3816d6e41b7884054c0 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 25 Apr 2016 12:27:48 +0200 Subject: UpdateInfo: Fix implicit conversion to QString: src\plugins\updateinfo\updateinfoplugin.cpp(127): error C2248: 'QString::QString': cannot access private member declared in class 'QString' Change-Id: I4dfed40d14505fd5fae1cc87a08e1d58347f197d Reviewed-by: Riho Pihlak Reviewed-by: Eike Ziller --- src/plugins/updateinfo/updateinfoplugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/plugins/updateinfo') diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index b6fb7fd21ef..b6c9d3b1464 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -124,7 +124,7 @@ void UpdateInfoPlugin::startCheckForUpdates() stopCheckForUpdates(); QProcessEnvironment env; - env.insert("QT_LOGGING_RULES", "*=false"); + env.insert(QLatin1String("QT_LOGGING_RULES"), QLatin1String("*=false")); d->m_checkUpdatesCommand = new ShellCommand(QString(), env); connect(d->m_checkUpdatesCommand, &ShellCommand::stdOutText, this, &UpdateInfoPlugin::collectCheckForUpdatesOutput); connect(d->m_checkUpdatesCommand, &ShellCommand::finished, this, &UpdateInfoPlugin::checkForUpdatesFinished); -- cgit v1.2.3 From 728229690af3a5357c59790b58e10e9edddb3756 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 25 Apr 2016 11:48:06 +0200 Subject: UpdateInfo: Fix status of progress bar MaintenanceTool returns with exit status != 0 in case there are no updates, so that is no indicator of failure. Change-Id: Ibe94cc8b5ecbd7a04be5da41112a4eda0cd84153 Reviewed-by: Tobias Hunger Reviewed-by: Eike Ziller --- src/plugins/updateinfo/updateinfoplugin.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/plugins/updateinfo') diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index b6c9d3b1464..d17bcfe5b2f 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -60,6 +61,13 @@ using namespace Core; namespace UpdateInfo { namespace Internal { +class IgnoreExitCode : public Utils::ExitCodeInterpreter +{ +public: + IgnoreExitCode(QObject *parent); + Utils::SynchronousProcessResponse::Result interpretExitCode(int code) const override; +}; + class UpdateInfoPluginPrivate { public: @@ -76,6 +84,16 @@ public: QDate m_lastCheckDate; }; +IgnoreExitCode::IgnoreExitCode(QObject *parent) + : Utils::ExitCodeInterpreter(parent) +{ +} + +Utils::SynchronousProcessResponse::Result IgnoreExitCode::interpretExitCode(int code) const +{ + Q_UNUSED(code) + return Utils::SynchronousProcessResponse::Finished; +} UpdateInfoPlugin::UpdateInfoPlugin() : d(new UpdateInfoPluginPrivate) @@ -128,7 +146,8 @@ void UpdateInfoPlugin::startCheckForUpdates() d->m_checkUpdatesCommand = new ShellCommand(QString(), env); connect(d->m_checkUpdatesCommand, &ShellCommand::stdOutText, this, &UpdateInfoPlugin::collectCheckForUpdatesOutput); connect(d->m_checkUpdatesCommand, &ShellCommand::finished, this, &UpdateInfoPlugin::checkForUpdatesFinished); - d->m_checkUpdatesCommand->addJob(Utils::FileName(QFileInfo(d->m_maintenanceTool)), QStringList(QLatin1String("--checkupdates"))); + d->m_checkUpdatesCommand->addJob(Utils::FileName(QFileInfo(d->m_maintenanceTool)), QStringList(QLatin1String("--checkupdates")), + /*workingDirectory=*/QString(), new IgnoreExitCode(d->m_checkUpdatesCommand)); d->m_checkUpdatesCommand->execute(); emit checkForUpdatesRunningChanged(true); } -- cgit v1.2.3