mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-01-31 00:35:19 +01:00
fix: never remove ipc callback & mem never be released (#4274)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
This commit is contained in:
6
.changes/fix-memory-leak-command.md
Normal file
6
.changes/fix-memory-leak-command.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri": patch
|
||||
"api": patch
|
||||
---
|
||||
|
||||
Fixes a memory leak in the command system.
|
||||
File diff suppressed because one or more lines are too long
@@ -52,11 +52,11 @@
|
||||
return new Promise(function (resolve, reject) {
|
||||
var callback = window.__TAURI__.transformCallback(function (r) {
|
||||
resolve(r)
|
||||
delete window[error]
|
||||
delete window[`_${error}`]
|
||||
}, true)
|
||||
var error = window.__TAURI__.transformCallback(function (e) {
|
||||
reject(e)
|
||||
delete window[callback]
|
||||
delete window[`_${callback}`]
|
||||
}, true)
|
||||
|
||||
if (typeof cmd === 'string') {
|
||||
|
||||
@@ -69,11 +69,11 @@ async function invoke<T>(cmd: string, args: InvokeArgs = {}): Promise<T> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const callback = transformCallback((e: T) => {
|
||||
resolve(e)
|
||||
Reflect.deleteProperty(window, error)
|
||||
Reflect.deleteProperty(window, `_${error}`)
|
||||
}, true)
|
||||
const error = transformCallback((e) => {
|
||||
reject(e)
|
||||
Reflect.deleteProperty(window, callback)
|
||||
Reflect.deleteProperty(window, `_${callback}`)
|
||||
}, true)
|
||||
|
||||
window.__TAURI_IPC__({
|
||||
|
||||
Reference in New Issue
Block a user