1
0
Fork 0
forked from len0rd/rockbox

Accept FS#11523 by Fred Bauer - fix a bug where the skin fonts dont check the correct path so it would load the same font twice when it shouldnt.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27766 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jonathan Gordon 2010-08-10 13:36:14 +00:00
parent d1a392a0e9
commit 1b53b99b75

View file

@ -63,6 +63,7 @@ int skin_font_load(char* font_name)
struct font *pf; struct font *pf;
struct skin_font_info *font = NULL; struct skin_font_info *font = NULL;
char filename[MAX_PATH]; char filename[MAX_PATH];
char tmp[MAX_PATH];
if (!strcmp(font_name, global_settings.font_file)) if (!strcmp(font_name, global_settings.font_file))
return FONT_UI; return FONT_UI;
@ -70,9 +71,12 @@ int skin_font_load(char* font_name)
if (!strcmp(font_name, global_settings.remote_font_file)) if (!strcmp(font_name, global_settings.remote_font_file))
return FONT_UI_REMOTE; return FONT_UI_REMOTE;
#endif #endif
snprintf(tmp, MAX_PATH, FONT_DIR "/%s.fnt", font_name);
get_user_file_path(tmp, FORCE_BUFFER_COPY, filename, sizeof(filename));
for(i=0;i<MAXUSERFONTS;i++) for(i=0;i<MAXUSERFONTS;i++)
{ {
if (font_table[i].font_id >= 0 && !strcmp(font_table[i].name, font_name)) if (font_table[i].font_id >= 0 && !strcmp(font_table[i].name, filename))
{ {
font_table[i].ref_count++; font_table[i].ref_count++;
return font_table[i].font_id; return font_table[i].font_id;
@ -99,9 +103,6 @@ int skin_font_load(char* font_name)
} }
pf->buffer_size = SKIN_FONT_SIZE; pf->buffer_size = SKIN_FONT_SIZE;
snprintf(filename, MAX_PATH, FONT_DIR "/%s.fnt", font_name);
get_user_file_path(filename, FORCE_BUFFER_COPY, font->name, sizeof(font->name));
pf->fd = -1; pf->fd = -1;
font->font_id = font_load(pf, filename); font->font_id = font_load(pf, filename);