Fix relative paths for global class icons in C#

This commit is contained in:
Paul Joannon 2024-08-19 18:09:58 +02:00
parent da5f39889f
commit 3c0eaec39f
No known key found for this signature in database
GPG Key ID: C12F69B0AD0390DD
1 changed files with 8 additions and 2 deletions

View File

@ -241,11 +241,17 @@ namespace Godot.Bridge
if (outIconPath != null) if (outIconPath != null)
{ {
var iconAttr = scriptType.GetCustomAttributes(inherit: false) IconAttribute? iconAttr = scriptType.GetCustomAttributes(inherit: false)
.OfType<IconAttribute>() .OfType<IconAttribute>()
.FirstOrDefault(); .FirstOrDefault();
*outIconPath = Marshaling.ConvertStringToNative(iconAttr?.Path); if (!string.IsNullOrEmpty(iconAttr?.Path))
{
string iconPath = iconAttr.Path.IsAbsolutePath()
? iconAttr.Path.SimplifyPath()
: scriptPathStr.GetBaseDir().PathJoin(iconAttr.Path).SimplifyPath();
*outIconPath = Marshaling.ConvertStringToNative(iconPath);
}
} }
if (outBaseType != null) if (outBaseType != null)