summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorAlexander Levin <al.le@rockbox.org>2010-05-13 08:36:38 +0000
committerAlexander Levin <al.le@rockbox.org>2010-05-13 08:36:38 +0000
commit230f0405eb8fa3f9b87eaab3bc065e2ca5dca5ff (patch)
treeea4701f6bc77936c16ada0e57fe9ebb981cd33f1 /apps
parentcd8ed00dfe54eab69783496e422137551dc1ca79 (diff)
downloadrockbox-230f0405eb8fa3f9b87eaab3bc065e2ca5dca5ff.zip
rockbox-230f0405eb8fa3f9b87eaab3bc065e2ca5dca5ff.tar.gz
rockbox-230f0405eb8fa3f9b87eaab3bc065e2ca5dca5ff.tar.bz2
rockbox-230f0405eb8fa3f9b87eaab3bc065e2ca5dca5ff.tar.xz
Correct detection of the absence of the current preset
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25990 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/skin_engine/skin_tokens.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c
index 165c3b9..b9d4bd6 100644
--- a/apps/gui/skin_engine/skin_tokens.c
+++ b/apps/gui/skin_engine/skin_tokens.c
@@ -398,13 +398,15 @@ const char *get_radio_token(struct wps_token *token, int preset_offset,
case WPS_TOKEN_PRESET_NAME:
case WPS_TOKEN_PRESET_FREQ:
{
- int preset = radio_current_preset() + preset_offset;
- if (radio_preset_count() == 0 || preset == -1)
+ int preset_count = radio_preset_count();
+ int cur_preset = radio_current_preset();
+ if (preset_count == 0 || cur_preset < 0)
return NULL;
- /* make sure its in the valid range */
+ int preset = cur_preset + preset_offset;
+ /* make sure it's in the valid range */
while (preset < 0)
- preset += radio_preset_count();
- preset %= radio_preset_count();
+ preset += preset_count;
+ preset %= preset_count;
if (token->type == WPS_TOKEN_PRESET_NAME)
{
snprintf(buf, buf_size, "%s", radio_get_preset(preset)->name);