OpenScreenTags
Summary:
When calling OpenScreenTags() with SA_LikeWorkbench, TRUE, any manually specified SA_Font is silently overridden on AROS, whereas on AmigaOS 3.2 the font is respected. This causes unexpected font behavior when attempting to set custom screen fonts on AROS.
scr = OpenScreenTags(NULL, SA_LikeWorkbench, TRUE, // SA_SysFont, -1, // Trick to make AROS use my Font SA_Font, &TOPAZ80, // This is ignored on AROS TAG_END);
On AROS, the font is overwritten, apparently due to logic in intuition/openscreen.c where sysfont is hardcoded when SA_LikeWorkbench is TRUE:
if (GetTagData(SA_LikeWorkbench, FALSE, tagList)) { [CUT .. more code here] sysfont = 1; sharepens = TRUE; /* not sure */ }
Proposed Fix:
Modify the logic to only set sysfont = 1 if the user has not specified SA_Font:
if (GetTagData(SA_LikeWorkbench, FALSE, tagList)) { [CUT .. more code here] if (!GetTagData(SA_Font, 0, tagList)) { sysfont = 1; } sharepens = TRUE; }