]> uap-core.de Git - rssreader.git/commitdiff
fix some nullpointer checks
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 8 Dec 2025 14:31:49 +0000 (15:31 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 8 Dec 2025 14:31:49 +0000 (15:31 +0100)
ui-java/src/main/java/de/unixwork/ui/Event.java
ui-java/src/main/java/de/unixwork/ui/Toolkit.java
ui-java/src/main/java/de/unixwork/ui/UiString.java
ui-java/src/main/java/de/unixwork/ui/UiText.java

index 8964692d9543c39d31096b76e12997df0e045c4d..e7db033640ebec61334541982ff58d83e9f5aa97 100644 (file)
@@ -41,7 +41,7 @@ public class Event {
             int type = (int)ui.event_get_eventdatatype.invoke(eventPtr);
             eventDataType = EventDataType.fromValue(type);
 
-            if(eventDataPtr != MemorySegment.NULL) {
+            if(eventDataPtr.address() != 0) {
                 switch(eventDataType) {
                     case EventDataType.STRING: {
                         eventData = eventDataPtr.getString(0);
@@ -59,7 +59,7 @@ public class Event {
                         String[] files = new String[flistCount];
                         for (int i=0;i<flistCount;i++) {
                             MemorySegment cstr = (MemorySegment)ui.filelist_get.invoke(eventDataPtr, i);
-                            if(cstr != MemorySegment.NULL) {
+                            if(cstr.address() != 0) {
                                 long len = (long)ui.strlen.invoke(cstr);
                                 cstr = cstr.reinterpret(len+1);
                                 files[i] = cstr.getString(0);
index 7591882f724643a65cee8a4ffe9c4b29c538ce31..1bb9303c6e8466f6a0737c3ed9976ad071768104 100644 (file)
@@ -547,7 +547,7 @@ public class Toolkit {
      * list getvaluefunc wrapper
      */
     public static MemorySegment getValue(MemorySegment list, MemorySegment elm, int row, int col, MemorySegment userdata, MemorySegment freeValue) {
-        if(userdata == MemorySegment.NULL) {
+        if(userdata.address() == 0) {
             return MemorySegment.NULL;
         }
         // userdata: contains the context ptr and converter index
@@ -578,7 +578,7 @@ public class Toolkit {
     }
 
     public static void sourceListGetValue(MemorySegment list, MemorySegment sublistData, MemorySegment rowData, int index, MemorySegment out_item, MemorySegment userdata) {
-        if(userdata == MemorySegment.NULL || list == MemorySegment.NULL) {
+        if(userdata.address() == 0 || list.address() == 0) {
             return;
         }
 
@@ -723,7 +723,7 @@ public class Toolkit {
         ToolkitFuncs ui = ToolkitFuncs.getInstance();
         try {
             MemorySegment cstr = (MemorySegment)ui.getappdir.invoke();
-            if(cstr == MemorySegment.NULL) {
+            if(cstr.address() == 0) {
                 return null;
             }
             long len = (long)ui.strlen.invoke(cstr);
@@ -739,7 +739,7 @@ public class Toolkit {
         try(Arena arena = Arena.ofConfined()) {
             MemorySegment fileNameCstr = arena.allocateFrom(fileName);
             MemorySegment cstr = (MemorySegment)ui.configfile.invoke(fileNameCstr);
-            if(cstr == MemorySegment.NULL) {
+            if(cstr.address() == 0) {
                 return null;
             }
             long len = (long)ui.strlen.invoke(cstr);
index 48edfb9a72b63879ce6f80226852a220ae6c8c26..1b64094b04fb66c041cab2733e37446c4d15c860 100644 (file)
@@ -25,6 +25,9 @@ public class UiString {
         ToolkitFuncs ui = ToolkitFuncs.getInstance();
         try {
             MemorySegment cstr = (MemorySegment) ui.string_get.invoke(valuePtr);
+            if(cstr.address() == 0) {
+                return "";
+            }
             long length = (long)ui.strlen.invoke(cstr);
             cstr = cstr.reinterpret(length+1);
             if (cstr != null && cstr.address() != 0) {
@@ -33,7 +36,7 @@ public class UiString {
         } catch (Throwable e) {
             throw new RuntimeException(e);
         }
-        return null;
+        return "";
     }
 
     public void setString(String string) {
index 0b6bcfb20087bb85fb174e54d35ad234dfc0b29e..237b394098e95a305b9656ac75d28145858a2920 100644 (file)
@@ -25,6 +25,9 @@ public class UiText {
         ToolkitFuncs ui = ToolkitFuncs.getInstance();
         try {
             MemorySegment cstr = (MemorySegment) ui.text_get.invoke(valuePtr);
+            if(cstr.address() == 0) {
+                return "";
+            }
             long length = (long)ui.strlen.invoke(cstr);
             cstr = cstr.reinterpret(length+1);
             if (cstr != null && cstr.address() != 0) {