diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-05-23 13:50:38 +0800 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-05-23 13:50:38 +0800 |
| commit | d3462ee56bf689b40738cdf5e9a3b378e9996d4e (patch) | |
| tree | 0eb6b5838193383e787d6d0a889c4460d89d1827 /services/Bluetooth.qml | |
| parent | dashboard: fix bongo cat playing when no media (diff) | |
| download | caelestia-shell-d3462ee56bf689b40738cdf5e9a3b378e9996d4e.tar.gz caelestia-shell-d3462ee56bf689b40738cdf5e9a3b378e9996d4e.tar.bz2 caelestia-shell-d3462ee56bf689b40738cdf5e9a3b378e9996d4e.zip | |
internal: fix memory leaks
Diffstat (limited to 'services/Bluetooth.qml')
| -rw-r--r-- | services/Bluetooth.qml | 9 |
1 files changed, 3 insertions, 6 deletions
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); |