This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 06b4a986a4c2af98b0f43861900ba87476da6a72
Author: Andi Huber <[email protected]>
AuthorDate: Thu Sep 18 09:13:24 2025 +0200

    CAUSEWAY-3889: fixes NPE in ObjectIconService (regression)
---
 .../core/runtimeservices/icons/ObjectIconServiceDefault.java        | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/icons/ObjectIconServiceDefault.java
 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/icons/ObjectIconServiceDefault.java
index 1e28f8b5fbd..8bf4b559a12 100644
--- 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/icons/ObjectIconServiceDefault.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/icons/ObjectIconServiceDefault.java
@@ -121,12 +121,14 @@ private ObjectIcon suffixed(ObjectSpecification objSpec, 
ClassPathIconResource c
         var iconResourceKey = StringUtils.hasLength(cpIconResource.suffix())
             ? domainClass.getName() + "-" + cpIconResource.suffix()
             : domainClass.getName();
-        // also memoize unsuccessful icon lookups (as fallback), so we don't 
search repeatedly
         var cachedIcon = iconByKey.get(iconResourceKey);
         if(cachedIcon!=null) return cachedIcon;
 
         var icon = findIcon(objSpec, 
_Strings.nonEmpty(cpIconResource.suffix()));
-        iconByKey.put(iconResourceKey, icon);
+        // also memoize unsuccessful icon lookups (as fallback), so we don't 
search repeatedly
+        iconByKey.put(iconResourceKey, icon!=null
+            ? icon
+            : fallbackIcon());
         return icon;
     }
 

Reply via email to