diff --git a/additional/env.js b/additional/env.js index 0e431be..84248c4 100644 --- a/additional/env.js +++ b/additional/env.js @@ -319,8 +319,10 @@ function addChangeListener(ptr, handlerID) { const element = jsmemory.get(ptr); const handler = function (event) { - const { ExecuteChangeHandler } = window.crafter_webbuild_wasi.instance.exports; - ExecuteChangeHandler(handlerID, event.target.value); + const { ExecuteChangeHandler, WasmFree } = window.crafter_webbuild_wasi.instance.exports; + const ptr = writeStringToWasm(event.target.value); + ExecuteChangeHandler(handlerID, ptr); + WasmFree(ptr); }; eventHandlers.set(`${ptr}-${handlerID}-change`, handler); @@ -361,8 +363,10 @@ function addInputListener(ptr, handlerID) { const element = jsmemory.get(ptr); const handler = function (event) { - const { ExecuteInputHandler } = window.crafter_webbuild_wasi.instance.exports; - ExecuteInputHandler(handlerID, event.data || event.target.value, event.inputType === 'insertCompositionText'); + const { ExecuteInputHandler, WasmFree } = window.crafter_webbuild_wasi.instance.exports; + const ptr = writeStringToWasm(event.data || event.target.value); + ExecuteInputHandler(handlerID, ptr, event.inputType === 'insertCompositionText'); + WasmFree(ptr); }; eventHandlers.set(`${ptr}-${handlerID}-input`, handler); diff --git a/interfaces/Crafter.CppDOM-BindingsExport.cppm b/interfaces/Crafter.CppDOM-BindingsExport.cppm index 143f595..4aa6e82 100644 --- a/interfaces/Crafter.CppDOM-BindingsExport.cppm +++ b/interfaces/Crafter.CppDOM-BindingsExport.cppm @@ -98,7 +98,6 @@ export namespace Crafter::CppDOMBindings { extern "C" { __attribute__((export_name("WasmAlloc"))) void* WasmAlloc(std::int32_t size) { - std::cout << std::format("Alloc: {}", size) << std::endl; return std::malloc(size); }