summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-09-16 12:56:51 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-09-16 12:56:51 +0000
commitfbb008331d45b45224a03b68627e420f0bcb3849 (patch)
treeb9f6b07247f3a39aa36b5db0706e986a81366a16 /apps/gui/skin_engine
parent520baf0b6af5eec643eb6405f600cce603213aa9 (diff)
downloadrockbox-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.c3
-rw-r--r--apps/gui/skin_engine/skin_tokens.c7
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: