summaryrefslogtreecommitdiff
path: root/services/Bluetooth.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-05-23 13:50:38 +0800
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-05-23 13:50:38 +0800
commitd3462ee56bf689b40738cdf5e9a3b378e9996d4e (patch)
tree0eb6b5838193383e787d6d0a889c4460d89d1827 /services/Bluetooth.qml
parentdashboard: fix bongo cat playing when no media (diff)
downloadcaelestia-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.qml9
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);