From e0fde241a1e83d058718af094ba8e5b14dc9e787 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Tue, 28 May 2019 09:24:00 -0700 Subject: [PATCH 1/2] Added RD_PREFIX to rddbmgr path. Check for process start error. --- utils/rddbconfig/rddbconfig.cpp | 43 +++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/utils/rddbconfig/rddbconfig.cpp b/utils/rddbconfig/rddbconfig.cpp index fec12d98..15d4da57 100644 --- a/utils/rddbconfig/rddbconfig.cpp +++ b/utils/rddbconfig/rddbconfig.cpp @@ -28,8 +28,9 @@ #include #include -#include -#include +#include "rdconfig.h" +#include "rdpaths.h" +#include "dbversion.h" #include "../../icons/rivendell-22x22.xpm" @@ -186,27 +187,33 @@ void MainWidget::mismatchData() QStringList args; args << QString("--modify"); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); - modifyProcess.start("rddbmgr", args); - modifyProcess.waitForFinished(-1); + modifyProcess.start(QString("%1/sbin/rddbmgr").arg(RD_PREFIX), args); + bool r=modifyProcess.waitForFinished(-1); QApplication::restoreOverrideCursor(); - QString stderr=modifyProcess.readAllStandardError(); - if (modifyProcess.exitCode()) { - QMessageBox::critical(this,tr("RDDbConfig Error"),stderr); - } - else { - if(!stderr.isEmpty()) { - QMessageBox::information(this,"Database Modified with Warnings", - QString().sprintf("Modified database to version %d with warnings:\n\n%s", - RD_VERSION_DATABASE,(const char *)stderr)); + if(r) { + QString stderr=modifyProcess.readAllStandardError(); + if (modifyProcess.exitCode()) { + QMessageBox::critical(this,tr("RDDbConfig Error"),stderr); } else { - QMessageBox::information(this,"Database Modified Successfully", + if(!stderr.isEmpty()) { + QMessageBox::information(this,"Database Modified with Warnings", + QString().sprintf("Modified database to version %d with warnings:\n\n%s", + RD_VERSION_DATABASE,(const char *)stderr)); + } + else { + QMessageBox::information(this,"Database Modified Successfully", + QString().sprintf("Modified database to version %d", RD_VERSION_DATABASE)); + } + rd_config->log("rddbconfig",RDConfig::LogInfo, QString().sprintf("Modified database to version %d", RD_VERSION_DATABASE)); - } - rd_config->log("rddbconfig",RDConfig::LogInfo, - QString().sprintf("Modified database to version %d", RD_VERSION_DATABASE)); - emit dbChanged(); + emit dbChanged(); + } + } + else { + QMessageBox::critical(this,tr("Database Update Error"), + QString("Error starting rddbmgr: code=%1").arg(modifyProcess.error())); } } From abbbe21e57010117bba93dde2ceb543c4623974d Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Tue, 28 May 2019 09:27:09 -0700 Subject: [PATCH 2/2] Updated ChangeLog --- ChangeLog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2e5566e0..fec636c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18696,3 +18696,6 @@ 2019-05-24 Fred Gleason * Fixed a regression in rdgpimon(1) that caused GPIO status to fail to be displayed in the status widgets. +2019-05-28 Patrick Linstruth + * Added RD_PREFIX to rddbmgr(1) path and process start error + message dialog to rddbconfig(1).