You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Had the same problem and dug into it a bit. I think I found the cause.
In downloadAssetFile() in sgdboop.c, the success path frees outfilename and then returns it:
if (!rename(outfilename_temp, outfilename)) {
free(outfilename);
free(outfilename_temp);
return outfilename;
}
For non-Steam icons that freed pointer goes straight into updateVdf(), so the icon field in shortcuts.vdf ends up full of garbage. Mine had 6 random bytes in there instead of a path. The icon file itself downloads fine into the grid folder, so it's only the vdf entry that's broken.
Looks like it came in with cd0c569 (the hotloading change), so every release since 1.4.0 has it. Just removing the free(outfilename); line there should fix it; the caller can free it afterwards.
Workaround for now: set the icon manually in the shortcut's properties in Steam and point it at grid/_icon.png, then restart Steam.
Activity
lonykaras4-dev commentedon Sep 8, 2026
Found a fix: renaming icons from JPG to PNG and manually picking them.
Speedy2662 commentedon Sep 30, 2026
Had the same problem and dug into it a bit. I think I found the cause.
In downloadAssetFile() in sgdboop.c, the success path frees outfilename and then returns it:
For non-Steam icons that freed pointer goes straight into updateVdf(), so the icon field in shortcuts.vdf ends up full of garbage. Mine had 6 random bytes in there instead of a path. The icon file itself downloads fine into the grid folder, so it's only the vdf entry that's broken.
Looks like it came in with cd0c569 (the hotloading change), so every release since 1.4.0 has it. Just removing the free(outfilename); line there should fix it; the caller can free it afterwards.
Workaround for now: set the icon manually in the shortcut's properties in Steam and point it at grid/_icon.png, then restart Steam.
(Flatpak 1.4.3, CachyOS)
mpaterakis commentedon Sep 30, 2026
Good catch speedy, fixed in 46b31d2.
That free had no business being there, my bad.
Arcitec commentedon Oct 2, 2026
@mpaterakis I did the same research independently and reached the same conclusion:
#92 (comment)
SGDBoop was writing nonsense instead of a string. Thanks for the fix @Speedy2662. It's working now.
I also noticed two memory leaks, fixed in #144.