From d1db6a3774d0fc70f1eb5440365fe5f0c2378259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Mon, 20 Jun 2022 13:10:14 +0200 Subject: [PATCH] Fix network device cache housekeeping and sync the settings --- libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp index dc088b6b..a5c1771f 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp @@ -357,6 +357,7 @@ void NetworkDeviceDiscoveryImpl::loadNetworkDeviceCache() if (lastSeen.date().addDays(m_cacheCleanupPeriod) < now.date()) { qCDebug(dcNetworkDeviceDiscovery()) << "Removing network device cache entry since it did not show up within the last" << m_cacheCleanupPeriod << "days" << mac.toString(); m_cacheSettings->remove(""); + m_cacheSettings->endGroup(); // mac address continue; } @@ -392,12 +393,12 @@ void NetworkDeviceDiscoveryImpl::removeFromNetworkDeviceCache(const MacAddress & m_networkInfoCache.remove(macAddress); m_lastSeen.remove(macAddress); - m_cacheSettings->beginGroup("NetworkDeviceInfos"); m_cacheSettings->beginGroup(macAddress.toString()); m_cacheSettings->remove(""); m_cacheSettings->endGroup(); // mac address m_cacheSettings->endGroup(); // NetworkDeviceInfos + m_cacheSettings->sync(); } void NetworkDeviceDiscoveryImpl::saveNetworkDeviceCache(const NetworkDeviceInfo &deviceInfo) @@ -411,6 +412,7 @@ void NetworkDeviceDiscoveryImpl::saveNetworkDeviceCache(const NetworkDeviceInfo m_cacheSettings->setValue("lastSeen", convertMinuteBased(m_lastSeen.value(MacAddress(deviceInfo.macAddress()))).toMSecsSinceEpoch()); m_cacheSettings->endGroup(); // mac address m_cacheSettings->endGroup(); // NetworkDeviceInfos + m_cacheSettings->sync(); } void NetworkDeviceDiscoveryImpl::updateCache(const NetworkDeviceInfo &deviceInfo)