summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-08-16 12:53:29 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-08-16 12:53:29 +0000
commit2cc6b5a79db0d96718d2f1b14eddeda4a5237198 (patch)
treef92ff6807f1b624cf38d720baa0e1afb720571b0 /apps
parentb5412c9440a1d9f89a837e45cc8c2fd9c7854e33 (diff)
downloadrockbox-2cc6b5a79db0d96718d2f1b14eddeda4a5237198.tar.gz
rockbox-2cc6b5a79db0d96718d2f1b14eddeda4a5237198.zip
Fix FS#11524 - a sbs could crash on load
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27829 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/statusbar-skinned.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/gui/statusbar-skinned.c b/apps/gui/statusbar-skinned.c
index 4dce84b787..8928378781 100644
--- a/apps/gui/statusbar-skinned.c
+++ b/apps/gui/statusbar-skinned.c
@@ -112,6 +112,12 @@ void sb_skin_data_load(enum screen_type screen, const char *buf, bool isfile)
112 struct wps_data *data = sb_skin[screen].data; 112 struct wps_data *data = sb_skin[screen].data;
113 113
114 int success; 114 int success;
115 /* We need to disable the theme here or else viewport_set_defaults()
116 * (which is called in the viewport tag parser) will crash because
117 * the theme is enabled but sb_set_info_vp() isnt set untill after the sbs
118 * is parsed. This only affects the default viewport which is ignored
119 * int he sbs anyway */
120 viewportmanager_theme_enable(screen, false, NULL);
115 success = buf && skin_data_load(screen, data, buf, isfile); 121 success = buf && skin_data_load(screen, data, buf, isfile);
116 122
117 if (success) 123 if (success)
@@ -136,6 +142,7 @@ void sb_skin_data_load(enum screen_type screen, const char *buf, bool isfile)
136 142
137 if (!success && isfile) 143 if (!success && isfile)
138 sb_create_from_settings(screen); 144 sb_create_from_settings(screen);
145 viewportmanager_theme_undo(screen, false);
139} 146}
140static char *infovp_label[NB_SCREENS]; 147static char *infovp_label[NB_SCREENS];
141static char *oldinfovp_label[NB_SCREENS]; 148static char *oldinfovp_label[NB_SCREENS];