From 415e1a76485b9375d383d0589627804cdcd61f04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Sat, 15 Nov 2025 15:54:47 +0100 Subject: [PATCH] NetworkDeviceDiscovery: Fix cache update reference bug --- .../network/networkdevicediscoveryimpl.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp index f5b0aaf6..595a73a4 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp @@ -515,15 +515,12 @@ void NetworkDeviceDiscoveryImpl::processMonitorPingResult(PingReply *reply, Netw << "-->" << reply->targetHostAddress().toString(); - removeFromNetworkDeviceCache(oldAddress); - NetworkDeviceInfo info = m_networkInfoCache.at(i); + removeFromNetworkDeviceCache(oldAddress); info.setAddress(reply->targetHostAddress()); monitor->setNetworkDeviceInfo(info); - m_networkInfoCache[i] = info; - m_networkInfoCache.sortNetworkDevices(); - saveNetworkDeviceCache(info); + updateCache(info); break; } } @@ -812,14 +809,11 @@ void NetworkDeviceDiscoveryImpl::processArpTraffic(const QNetworkInterface &inte << "-->" << address.toString(); - removeFromNetworkDeviceCache(oldAddress); - NetworkDeviceInfo info = m_networkInfoCache.at(i); + removeFromNetworkDeviceCache(oldAddress); info.setAddress(address); - m_networkInfoCache[i] = info; - m_networkInfoCache.sortNetworkDevices(); - saveNetworkDeviceCache(info); + updateCache(info); foreach (NetworkDeviceMonitorImpl *monitor, m_monitors.keys()) { if (monitor->macAddress() == macAddress) {