From 6dac26e4d4c1c9dc9ee3765f368cc730a643c124 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Thu, 21 Aug 2025 18:30:25 +0200 Subject: [PATCH] fix illegal arguments in webview loadContent --- ui-java/src/main/java/de/unixwork/ui/WebView.java | 4 +++- ui-java/src/main/java/de/unixwork/ui/WebViewFuncs.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ui-java/src/main/java/de/unixwork/ui/WebView.java b/ui-java/src/main/java/de/unixwork/ui/WebView.java index 4a13ff4..cd3e311 100644 --- a/ui-java/src/main/java/de/unixwork/ui/WebView.java +++ b/ui-java/src/main/java/de/unixwork/ui/WebView.java @@ -40,6 +40,7 @@ public class WebView { try (Arena arena = Arena.ofConfined()) { MemorySegment uriCStr = MemorySegment.NULL; MemorySegment contentCStr = MemorySegment.NULL; + long contentLength = 0; MemorySegment mimeTypeCStr = MemorySegment.NULL; MemorySegment encodingCStr = MemorySegment.NULL; if(uri != null) { @@ -47,6 +48,7 @@ public class WebView { } if(content != null) { contentCStr = arena.allocateFrom(content); + contentLength = content.length(); } if(mimeType != null) { mimeTypeCStr = arena.allocateFrom(mimeType); @@ -54,7 +56,7 @@ public class WebView { if(encoding != null) { encodingCStr = arena.allocateFrom(encoding); } - ui.webview_load_content.invoke(valuePtr, uriCStr, contentCStr, mimeTypeCStr, encodingCStr); + ui.webview_load_content.invoke(valuePtr, uriCStr, contentCStr, contentLength, mimeTypeCStr, encodingCStr); } catch (Throwable e) { throw new RuntimeException(e); } diff --git a/ui-java/src/main/java/de/unixwork/ui/WebViewFuncs.java b/ui-java/src/main/java/de/unixwork/ui/WebViewFuncs.java index 5ecba20..7279bd4 100644 --- a/ui-java/src/main/java/de/unixwork/ui/WebViewFuncs.java +++ b/ui-java/src/main/java/de/unixwork/ui/WebViewFuncs.java @@ -48,7 +48,7 @@ public class WebViewFuncs { webview_load_content = linker.downcallHandle( ui_webview_load_content_addr, FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.ADDRESS, - ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); + ValueLayout.JAVA_LONG, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); webview_reload = linker.downcallHandle(ui_webview_reload_addr, sigv_m); webview_can_go_back = linker.downcallHandle(ui_webview_can_go_back_addr, sigb_m); webview_can_go_forward = linker.downcallHandle(ui_webview_can_go_forward_addr, sigb_m); -- 2.47.3