From d3462ee56bf689b40738cdf5e9a3b378e9996d4e Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 23 May 2025 13:50:38 +0800 Subject: internal: fix memory leaks --- services/Bluetooth.qml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'services/Bluetooth.qml') diff --git a/services/Bluetooth.qml b/services/Bluetooth.qml index f77001e..43f3636 100644 --- a/services/Bluetooth.qml +++ b/services/Bluetooth.qml @@ -43,12 +43,9 @@ Singleton { const devices = JSON.parse(data).filter(d => d.Name); const rDevices = root.devices; - const len = rDevices.length; - for (let i = 0; i < len; i++) { - const device = rDevices[i]; - if (!devices.find(d => d.Address === device?.address)) - rDevices.splice(i, 1); - } + const destroyed = rDevices.filter(rd => !devices.find(d => d.Address === rd.address)); + for (const device of destroyed) + rDevices.splice(rDevices.indexOf(device), 1).forEach(d => d.destroy()); for (const device of devices) { const match = rDevices.find(d => d.address === device.Address); -- cgit v1.2.3-freya