WebUI: Fix memory leak

See #22734, there is a memory leak in the MooTools .destroy(), this replaces all uses of that with the browser native .remove().

This also overrides the MooTools Document.id function, which is used by $(id). The original function always allocates an ID to elements it selects, the override doesn't, and is also a little more efficient.

Closes #22734.
PR  #22754.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
This commit is contained in:
bolshoytoster
2025-05-25 08:41:52 +01:00
committed by GitHub
parent afcfea5b8f
commit a3d1ff0eb2
10 changed files with 86 additions and 12 deletions

View File

@@ -900,7 +900,7 @@ window.qBittorrent.DynamicTable ??= (() => {
const rowPos = rows.length;
while ((rowPos < trs.length) && (trs.length > 0))
trs.pop().destroy();
trs.pop().remove();
}
}
@@ -1022,7 +1022,7 @@ window.qBittorrent.DynamicTable ??= (() => {
}
else {
const tr = this.getTrByRowId(rowId);
tr?.destroy();
tr?.remove();
}
}
@@ -1034,7 +1034,7 @@ window.qBittorrent.DynamicTable ??= (() => {
}
else {
for (const tr of this.getTrs())
tr.destroy();
tr.remove();
}
}