diff options
author | bptato <nincsnevem662@gmail.com> | 2025-02-20 18:48:05 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2025-02-20 18:48:05 +0100 |
commit | a1b027140bde18a6d47ad863c92bbbf189243d8b (patch) | |
tree | 3f1e99e486df5a0b470e6f07144a3fbb96fbc9db /lib/monoucha0/monoucha/javascript.nim | |
parent | 7342f552bffb87acc184a959b28559fae03c9782 (diff) | |
download | chawan-a1b027140bde18a6d47ad863c92bbbf189243d8b.tar.gz |
javascript: fix finalizers with non-RootRef derived objects
We were calling the wrong getTypePtr. Also, fix some manual tests.
Diffstat (limited to 'lib/monoucha0/monoucha/javascript.nim')
-rw-r--r-- | lib/monoucha0/monoucha/javascript.nim | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/monoucha0/monoucha/javascript.nim b/lib/monoucha0/monoucha/javascript.nim index 1f921d5d..90588ddf 100644 --- a/lib/monoucha0/monoucha/javascript.nim +++ b/lib/monoucha0/monoucha/javascript.nim @@ -1280,13 +1280,13 @@ template jsDestructor*[U](T: typedesc[ref U]) = static: jsDtors.incl($T) proc `=destroy`(obj: var U) = - nim_finalize_for_js(addr obj, getTypePtr(obj)) + nim_finalize_for_js(addr obj, getTypePtr(T)) template jsDestructor*(T: typedesc[object]) = static: jsDtors.incl($T) proc `=destroy`(obj: var T) = - nim_finalize_for_js(addr obj, getTypePtr(obj)) + nim_finalize_for_js(addr obj, getTypePtr(T)) proc bindConstructor(stmts: NimNode; info: var RegistryInfo): NimNode = if info.ctorFun != nil: |