fix!: (web/wasm) free pick callbacks on dispose

This commit is contained in:
Nick Fisher
2024-09-25 21:50:31 +08:00
parent 92fbe2e5d5
commit 85dcd5a5b9

View File

@@ -127,8 +127,6 @@ class ThermionViewerWasm implements ThermionViewer {
_pickCallbackPtr = _module!.addFunction(_onPickCallback.toJS, "viii"); _pickCallbackPtr = _module!.addFunction(_onPickCallback.toJS, "viii");
_pickGizmoCallbackPtr = _pickGizmoCallbackPtr =
_module!.addFunction(_onPickGizmoCallback.toJS, "viii"); _module!.addFunction(_onPickGizmoCallback.toJS, "viii");
// _module!.removeFunction(_pickCallbackPtr);
// _module!.removeFunction(_pickGizmoCallbackPtr);
var gizmoOut = _module!._malloc(4 * 4); var gizmoOut = _module!._malloc(4 * 4);
@@ -237,6 +235,8 @@ class ThermionViewerWasm implements ThermionViewer {
await callback.call(); await callback.call();
} }
_onDispose.clear(); _onDispose.clear();
_module!.removeFunction(_pickCallbackPtr);
_module!.removeFunction(_pickGizmoCallbackPtr);
} }
void _destroyViewer() { void _destroyViewer() {