diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-08-10 13:36:14 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-08-10 13:36:14 +0000 |
commit | 1b53b99b75f6e4047222dcf24c6641dce26d930e (patch) | |
tree | ff907210ba311bb9b83af2f5b50e64c4ece79bd4 | |
parent | d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f (diff) | |
download | rockbox-1b53b99b75f6e4047222dcf24c6641dce26d930e.tar.gz rockbox-1b53b99b75f6e4047222dcf24c6641dce26d930e.zip |
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
-rw-r--r-- | apps/gui/skin_engine/skin_fonts.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/gui/skin_engine/skin_fonts.c b/apps/gui/skin_engine/skin_fonts.c index b3b4df2c92..2510c8c68c 100644 --- a/apps/gui/skin_engine/skin_fonts.c +++ b/apps/gui/skin_engine/skin_fonts.c | |||
@@ -63,6 +63,7 @@ int skin_font_load(char* font_name) | |||
63 | struct font *pf; | 63 | struct font *pf; |
64 | struct skin_font_info *font = NULL; | 64 | struct skin_font_info *font = NULL; |
65 | char filename[MAX_PATH]; | 65 | char filename[MAX_PATH]; |
66 | char tmp[MAX_PATH]; | ||
66 | 67 | ||
67 | if (!strcmp(font_name, global_settings.font_file)) | 68 | if (!strcmp(font_name, global_settings.font_file)) |
68 | return FONT_UI; | 69 | return FONT_UI; |
@@ -70,9 +71,12 @@ int skin_font_load(char* font_name) | |||
70 | if (!strcmp(font_name, global_settings.remote_font_file)) | 71 | if (!strcmp(font_name, global_settings.remote_font_file)) |
71 | return FONT_UI_REMOTE; | 72 | return FONT_UI_REMOTE; |
72 | #endif | 73 | #endif |
74 | snprintf(tmp, MAX_PATH, FONT_DIR "/%s.fnt", font_name); | ||
75 | get_user_file_path(tmp, FORCE_BUFFER_COPY, filename, sizeof(filename)); | ||
76 | |||
73 | for(i=0;i<MAXUSERFONTS;i++) | 77 | for(i=0;i<MAXUSERFONTS;i++) |
74 | { | 78 | { |
75 | if (font_table[i].font_id >= 0 && !strcmp(font_table[i].name, font_name)) | 79 | if (font_table[i].font_id >= 0 && !strcmp(font_table[i].name, filename)) |
76 | { | 80 | { |
77 | font_table[i].ref_count++; | 81 | font_table[i].ref_count++; |
78 | return font_table[i].font_id; | 82 | return font_table[i].font_id; |
@@ -99,9 +103,6 @@ int skin_font_load(char* font_name) | |||
99 | } | 103 | } |
100 | pf->buffer_size = SKIN_FONT_SIZE; | 104 | pf->buffer_size = SKIN_FONT_SIZE; |
101 | 105 | ||
102 | snprintf(filename, MAX_PATH, FONT_DIR "/%s.fnt", font_name); | ||
103 | get_user_file_path(filename, FORCE_BUFFER_COPY, font->name, sizeof(font->name)); | ||
104 | |||
105 | pf->fd = -1; | 106 | pf->fd = -1; |
106 | font->font_id = font_load(pf, filename); | 107 | font->font_id = font_load(pf, filename); |
107 | 108 | ||