diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2012-06-19 21:51:59 +0200 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2012-06-19 21:53:29 +0200 |
commit | 21ddcbec669801c77e860833f520b748cfff4f22 (patch) | |
tree | 8c6af4c71d2fe84264ee897cd12b76e4e0513dff | |
parent | f8eb8c8679633d43e3c1e0d95feb2dab2d5cee8a (diff) | |
download | rockbox-21ddcbec669801c77e860833f520b748cfff4f22.tar.gz rockbox-21ddcbec669801c77e860833f520b748cfff4f22.zip |
CHARCELL doesn't have sbs support, so disable it properly.
This actually fixes a nullpointer dereference.
Change-Id: Ie3e153d72bcacdce46bfe5a514ff77aebdfd7225
-rw-r--r-- | apps/gui/skin_engine/skin_engine.c | 8 | ||||
-rw-r--r-- | apps/gui/skin_engine/skin_engine.h | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c index 1d73b3266b..e91320b742 100644 --- a/apps/gui/skin_engine/skin_engine.c +++ b/apps/gui/skin_engine/skin_engine.c | |||
@@ -54,7 +54,9 @@ static struct gui_skin_helper { | |||
54 | char* (*default_skin)(enum screen_type screen); | 54 | char* (*default_skin)(enum screen_type screen); |
55 | bool load_on_boot; | 55 | bool load_on_boot; |
56 | } skin_helpers[SKINNABLE_SCREENS_COUNT] = { | 56 | } skin_helpers[SKINNABLE_SCREENS_COUNT] = { |
57 | #ifdef HAVE_LCD_BITMAP | ||
57 | [CUSTOM_STATUSBAR] = { sb_preproccess, sb_postproccess, sb_create_from_settings, true }, | 58 | [CUSTOM_STATUSBAR] = { sb_preproccess, sb_postproccess, sb_create_from_settings, true }, |
59 | #endif | ||
58 | [WPS] = { NULL, NULL, wps_default_skin, true }, | 60 | [WPS] = { NULL, NULL, wps_default_skin, true }, |
59 | #if CONFIG_TUNER | 61 | #if CONFIG_TUNER |
60 | [FM_SCREEN] = { NULL, NULL, default_radio_skin, false } | 62 | [FM_SCREEN] = { NULL, NULL, default_radio_skin, false } |
@@ -198,8 +200,8 @@ static char* get_skin_filename(char *buf, size_t buf_size, | |||
198 | char *setting = NULL, *ext = NULL; | 200 | char *setting = NULL, *ext = NULL; |
199 | switch (skin) | 201 | switch (skin) |
200 | { | 202 | { |
201 | case CUSTOM_STATUSBAR: | ||
202 | #ifdef HAVE_LCD_BITMAP | 203 | #ifdef HAVE_LCD_BITMAP |
204 | case CUSTOM_STATUSBAR: | ||
203 | #if defined(HAVE_REMOTE_LCD) && NB_SCREENS > 1 | 205 | #if defined(HAVE_REMOTE_LCD) && NB_SCREENS > 1 |
204 | if (screen == SCREEN_REMOTE) | 206 | if (screen == SCREEN_REMOTE) |
205 | { | 207 | { |
@@ -212,8 +214,8 @@ static char* get_skin_filename(char *buf, size_t buf_size, | |||
212 | setting = global_settings.sbs_file; | 214 | setting = global_settings.sbs_file; |
213 | ext = "sbs"; | 215 | ext = "sbs"; |
214 | } | 216 | } |
215 | #endif | ||
216 | break; | 217 | break; |
218 | #endif | ||
217 | case WPS: | 219 | case WPS: |
218 | #if defined(HAVE_REMOTE_LCD) && NB_SCREENS > 1 | 220 | #if defined(HAVE_REMOTE_LCD) && NB_SCREENS > 1 |
219 | if (screen == SCREEN_REMOTE) | 221 | if (screen == SCREEN_REMOTE) |
@@ -258,8 +260,10 @@ static char* get_skin_filename(char *buf, size_t buf_size, | |||
258 | 260 | ||
259 | struct gui_wps *skin_get_gwps(enum skinnable_screens skin, enum screen_type screen) | 261 | struct gui_wps *skin_get_gwps(enum skinnable_screens skin, enum screen_type screen) |
260 | { | 262 | { |
263 | #ifdef HAVE_LCD_BITMAP | ||
261 | if (skin == CUSTOM_STATUSBAR && !skins_initialised) | 264 | if (skin == CUSTOM_STATUSBAR && !skins_initialised) |
262 | return &skins[skin][screen].gui_wps; | 265 | return &skins[skin][screen].gui_wps; |
266 | #endif | ||
263 | 267 | ||
264 | if (skins[skin][screen].data.wps_loaded == false) | 268 | if (skins[skin][screen].data.wps_loaded == false) |
265 | { | 269 | { |
diff --git a/apps/gui/skin_engine/skin_engine.h b/apps/gui/skin_engine/skin_engine.h index 625467ea3b..07fafe6a10 100644 --- a/apps/gui/skin_engine/skin_engine.h +++ b/apps/gui/skin_engine/skin_engine.h | |||
@@ -30,7 +30,9 @@ | |||
30 | #include "wps_internals.h" /* TODO: remove this line.. shoudlnt be needed */ | 30 | #include "wps_internals.h" /* TODO: remove this line.. shoudlnt be needed */ |
31 | 31 | ||
32 | enum skinnable_screens { | 32 | enum skinnable_screens { |
33 | #ifdef HAVE_LCD_BITMAP | ||
33 | CUSTOM_STATUSBAR, | 34 | CUSTOM_STATUSBAR, |
35 | #endif | ||
34 | WPS, | 36 | WPS, |
35 | #if CONFIG_TUNER | 37 | #if CONFIG_TUNER |
36 | FM_SCREEN, | 38 | FM_SCREEN, |