]> uap-core.de Git - rssreader.git/commitdiff
improve toolkit initialization error handling, add hint to use -XstartOnFirstThread...
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 28 May 2026 16:07:55 +0000 (18:07 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 28 May 2026 16:07:55 +0000 (18:07 +0200)
ui-java/src/main/java/de/unixwork/ui/Toolkit.java

index 684cc9ee6ca191dcb07baeacc002d99e6fda7e7c..274e0d04084109a5087fabd82a442a01a8b0fde0 100644 (file)
@@ -90,6 +90,16 @@ public class Toolkit {
             propertiesData = null;
         }
 
+        MemorySegment ui_set_main_thread_error_msg_addr = lib.find("ui_set_main_thread_error_msg").orElseThrow();
+        MethodHandle ui_set_main_thread_error_msg = linker.downcallHandle(ui_set_main_thread_error_msg_addr, FunctionDescriptor.ofVoid(ValueLayout.ADDRESS));
+        try (Arena arena = Arena.ofConfined()) {
+            MemorySegment cstr = arena.allocateFrom("Add -XstartOnFirstThread to the JVM options.");
+            ui_set_main_thread_error_msg.invoke(cstr);
+        } catch (Throwable e) {
+            e.printStackTrace();
+            System.exit(1);
+        }
+
         // get init function
         MemorySegment ui_init_addr = lib.find("ui_init").orElseThrow();
         FunctionDescriptor ui_init_sig = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_INT, ValueLayout.ADDRESS);