ITADN

OpenScreenTags

#688Openrolsen74 创建于 2025-05-11
bug
R
rolsen74commented
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; }
2 条评论