diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index 6abf6253..7d2340ba 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -212,6 +212,7 @@ class UIDefaultsLoader static String resolveValue( String value, Function propertiesGetter ) { value = value.trim(); + String value0 = value; if( value.startsWith( PROPERTY_PREFIX ) ) value = value.substring( PROPERTY_PREFIX.length() ); @@ -232,6 +233,9 @@ class UIDefaultsLoader throw new IllegalArgumentException( "variable or property '" + value + "' not found" ); } + if( newValue.equals( value0 ) ) + throw new IllegalArgumentException( "endless recursion in variable or property '" + value + "'" ); + return resolveValue( newValue, propertiesGetter ); }