Merge pull request #95808 from paulloz/bugfix/dotnet-globalclass-icon-relative-paths

Fix relative paths for global class icons in C#
This commit is contained in:
Rémi Verschelde 2024-08-20 10:02:47 +02:00
commit 73d42411f0
No known key found for this signature in database
GPG key ID: C3336907360768E1

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)