浏览代码

[3.x] Fix JavaScript callback memory leak

(cherry picked from commit 8ac91f813f364ed3e8b4b6be1b0770124af0d1b0)
SysError99 2 年之前
父节点
当前提交
d20dfcfe79
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      platform/javascript/js/libs/library_godot_javascript_singleton.js

+ 3 - 1
platform/javascript/js/libs/library_godot_javascript_singleton.js

@@ -205,7 +205,9 @@ const GodotJSWrapper = {
 				return;
 			}
 			const args = Array.from(arguments);
-			func(p_ref, GodotJSWrapper.get_proxied(args), args.length);
+			const argsProxy = new GodotJSWrapper.MyProxy(args);
+			func(p_ref, argsProxy.get_id(), args.length);
+			argsProxy.unref();
 		};
 		id = GodotJSWrapper.get_proxied(cb);
 		return id;