private UiObjectFuncs(Linker linker, SymbolLookup lib) {
// void* func(void*, void*)
+ FunctionDescriptor sigm_m = FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.ADDRESS);
FunctionDescriptor sigm_mm = FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.ADDRESS);
// void func(void*)
FunctionDescriptor sigv_m = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS);
ui_show = linker.downcallHandle(ui_show_addr, sigv_m);
ui_close = linker.downcallHandle(ui_close_addr, sigv_m);
- ui_window = linker.downcallHandle(ui_window_addr, sigm_mm);
- ui_sidebar_window = linker.downcallHandle(ui_sidebar_window_addr, sigm_mm);
+ ui_window = linker.downcallHandle(ui_window_addr, sigm_m);
+ ui_sidebar_window = linker.downcallHandle(ui_sidebar_window_addr, sigm_m);
ui_splitview_window = linker.downcallHandle(ui_splitview_window_addr, sigm_mb);
- ui_simple_window = linker.downcallHandle(ui_simple_window_addr, sigm_mm);
+ ui_simple_window = linker.downcallHandle(ui_simple_window_addr, sigm_m);
ui_dialog_window_create = linker.downcallHandle(ui_dialog_window_create_addr, sigm_mm);
ui_dialog_create = linker.downcallHandle(ui_dialog_create_addr, sigv_mm);
ui_openfiledialog = linker.downcallHandle(ui_openfiledialog_addr, sigv_mimm);
toolkit.setIsObjRegEnabled(false);
try (Arena arena = Arena.ofConfined()) {
MemorySegment cstr = arena.allocateFrom(title);
- obj = (MemorySegment) ctor.invoke(cstr, MemorySegment.NULL);
+ obj = (MemorySegment) ctor.invoke(cstr);
} catch (Throwable e) {
toolkit.setIsObjRegEnabled(true);
throw new RuntimeException(e);