diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-09-16 12:56:51 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-09-16 12:56:51 +0000 |
| commit | fbb008331d45b45224a03b68627e420f0bcb3849 (patch) | |
| tree | b9f6b07247f3a39aa36b5db0706e986a81366a16 /apps/gui/skin_engine | |
| parent | 520baf0b6af5eec643eb6405f600cce603213aa9 (diff) | |
| download | rockbox-fbb008331d45b45224a03b68627e420f0bcb3849.zip rockbox-fbb008331d45b45224a03b68627e420f0bcb3849.tar.gz rockbox-fbb008331d45b45224a03b68627e420f0bcb3849.tar.bz2 rockbox-fbb008331d45b45224a03b68627e420f0bcb3849.tar.xz | |
skin engine: completly rework the sbs title handing code
This hopefully fixes the remaining data aborts and freezes when loading skins caused by the somewhat nasty list/sbs title handling code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28093 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine')
| -rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 3 | ||||
| -rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 2534bf9..117a926 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -1372,6 +1372,9 @@ static int skin_element_callback(struct skin_element* element, void* data) case SKIN_TOKEN_DRAW_INBUILTBAR: function = parse_statusbar_tags; break; + case SKIN_TOKEN_LIST_TITLE_TEXT: + sb_skin_has_title(curr_screen); + break; #endif case SKIN_TOKEN_FILE_DIRECTORY: token->value.i = element->params[0].data.number; diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index c3f803e..b5c3258 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c @@ -57,6 +57,7 @@ #include "wps_internals.h" #include "skin_engine.h" +#include "statusbar-skinned.h" #include "root_menu.h" #ifdef HAVE_RECORDING #include "recording.h" @@ -706,11 +707,11 @@ const char *get_token_value(struct gui_wps *gwps, return buf; case SKIN_TOKEN_LIST_TITLE_TEXT: - return (char*)token->value.data; + return sb_get_title(gwps->display->screen_type); case SKIN_TOKEN_LIST_TITLE_ICON: if (intval) - *intval = token->value.i; - snprintf(buf, buf_size, "%d", token->value.i); + *intval = sb_get_icon(gwps->display->screen_type); + snprintf(buf, buf_size, "%d",sb_get_icon(gwps->display->screen_type)); return buf; case SKIN_TOKEN_PLAYLIST_NAME: |