From 99eb132775bb643d5783f9d897849722bcc20704 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 14 Oct 2019 11:49:20 +0200 Subject: [PATCH] Add error handling if arping isn't installed --- networkdetector/devicemonitor.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/networkdetector/devicemonitor.cpp b/networkdetector/devicemonitor.cpp index 4a77e55b..a2dfd82e 100644 --- a/networkdetector/devicemonitor.cpp +++ b/networkdetector/devicemonitor.cpp @@ -16,6 +16,12 @@ DeviceMonitor::DeviceMonitor(const QString &name, const QString &macAddress, con m_arpingProcess = new QProcess(this); m_arpingProcess->setReadChannelMode(QProcess::MergedChannels); + connect(m_arpingProcess, &QProcess::errorOccurred, this, [this](QProcess::ProcessError error) { + if (error == QProcess::FailedToStart) { + warn(QString("arping process failed to start. Falling back to ping. This plugin might not work properly on this system.")); + ping(); + } + }); connect(m_arpingProcess, SIGNAL(finished(int)), this, SLOT(arpingFinished(int))); m_pingProcess = new QProcess(this);