Fix Mdns code

This commit is contained in:
LordGrey
2023-12-29 18:08:15 +01:00
parent 6aacac7924
commit e71185acd9
3 changed files with 13 additions and 5 deletions

View File

@@ -31,6 +31,10 @@ MdnsBrowser::MdnsBrowser(QObject* parent)
MdnsBrowser::~MdnsBrowser()
{
qDeleteAll(_browsedServiceTypes);
_browsedServiceTypes.clear();
disconnect(_resolver, &QMdnsEngine::Resolver::resolved, this, &MdnsBrowser::onHostNameResolved);
delete _resolver;
}
void MdnsBrowser::browseForServiceType(const QByteArray& serviceType)
@@ -124,8 +128,8 @@ QHostAddress MdnsBrowser::getHostFirstAddress(const QByteArray& hostname)
{
DebugIf(verboseBrowser, _log, "IP-address for hostname [%s] not yet in cache, start resolver.", toBeResolvedHostName.constData());
qRegisterMetaType<QMdnsEngine::Message>("Message");
auto* resolver = new QMdnsEngine::Resolver(&_server, toBeResolvedHostName, &_cache);
connect(resolver, &QMdnsEngine::Resolver::resolved, this, &MdnsBrowser::onHostNameResolved);
_resolver = new QMdnsEngine::Resolver(&_server, toBeResolvedHostName, &_cache);
connect(_resolver, &QMdnsEngine::Resolver::resolved, this, &MdnsBrowser::onHostNameResolved);
}
}
}

View File

@@ -33,10 +33,13 @@ void MdnsProvider::init()
MdnsProvider::~MdnsProvider()
{
qDeleteAll(_providedServiceTypes);
disconnect(_hostname, &QMdnsEngine::Hostname::hostnameChanged, this, &MdnsProvider::onHostnameChanged);
_hostname->deleteLater();
_server->deleteLater();
qDeleteAll(_providedServiceTypes);
_providedServiceTypes.clear();
delete _hostname;
delete _server;
}
void MdnsProvider::publishService(const QString& serviceType, quint16 servicePort, const QByteArray& serviceName)