summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2012-06-19 21:51:59 +0200
committerFrank Gevaerts <frank@gevaerts.be>2012-06-19 21:53:29 +0200
commit21ddcbec669801c77e860833f520b748cfff4f22 (patch)
tree8c6af4c71d2fe84264ee897cd12b76e4e0513dff /apps/gui
parentf8eb8c8679633d43e3c1e0d95feb2dab2d5cee8a (diff)
downloadrockbox-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
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/skin_engine/skin_engine.c8
-rw-r--r--apps/gui/skin_engine/skin_engine.h2
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
259struct gui_wps *skin_get_gwps(enum skinnable_screens skin, enum screen_type screen) 261struct 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
32enum skinnable_screens { 32enum 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,