From 473d8520f954d22f8ad45e0d9a945c97b7282264 Mon Sep 17 00:00:00 2001 From: Jonathan Bagg Date: Sat, 6 May 2023 08:23:57 -0400 Subject: [PATCH] Avahi Client - fix crashing is avahi daemon is not running. --- avahiclient.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/avahiclient.cpp b/avahiclient.cpp index 04705b3..949c832 100644 --- a/avahiclient.cpp +++ b/avahiclient.cpp @@ -228,7 +228,7 @@ QZeroConf::~QZeroConf() void QZeroConf::startServicePublish(const char *name, const char *type, const char *domain, quint16 port, quint32 interface) { - if (pri->group) { + if (!pri->client || pri->group) { // check client is ok (avahi daemon is running) and group is not already configured emit error(QZeroConf::serviceRegistrationFailed); return; } @@ -295,8 +295,10 @@ void QZeroConf::clearServiceTxtRecords() void QZeroConf::startBrowser(QString type, QAbstractSocket::NetworkLayerProtocol protocol) { - if (pri->browser) + if (!pri->client || pri->browser) { // check client is ok (avahi daemon is running) and browser is not already started emit error(QZeroConf::browserFailed); + return; + } switch (protocol) { case QAbstractSocket::IPv4Protocol: pri->aProtocol = AVAHI_PROTO_INET; break;