diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2010-10-10 13:17:39 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2010-10-10 13:17:39 +0000 |
| commit | c8c40c52916ec5af08c4ec76059b632366c0fa5f (patch) | |
| tree | 8ddb8b862add93e7273aedcf71d32ffc81d225cf /apps/gui/skin_engine | |
| parent | 0d100b4dd83a780af9bd3e3b0384e4a40e517ff4 (diff) | |
| download | rockbox-c8c40c52916ec5af08c4ec76059b632366c0fa5f.zip rockbox-c8c40c52916ec5af08c4ec76059b632366c0fa5f.tar.gz rockbox-c8c40c52916ec5af08c4ec76059b632366c0fa5f.tar.bz2 rockbox-c8c40c52916ec5af08c4ec76059b632366c0fa5f.tar.xz | |
Add a "early_usb" argument to gui_usb_screen_run(), and don't do skin unloading/reloading in gui_usb_screen_run() in the early usb case. Fixes the crash part of FS#11589
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28229 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine')
| -rw-r--r-- | apps/gui/skin_engine/skin_render.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 304ebf1..17ecce7 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c @@ -78,7 +78,7 @@ static void skin_render_playlistviewer(struct playlistviewer* viewer, unsigned long refresh_type); #endif -static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, +static __attribute__((noinline)) bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, struct skin_element *element, struct viewport* vp) { #ifndef HAVE_LCD_BITMAP @@ -234,7 +234,7 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, -static void do_tags_in_hidden_conditional(struct skin_element* branch, +static __attribute__((noinline)) void do_tags_in_hidden_conditional(struct skin_element* branch, struct skin_draw_info *info) { #ifdef HAVE_LCD_BITMAP @@ -328,7 +328,7 @@ static void do_tags_in_hidden_conditional(struct skin_element* branch, } } -static void fix_line_alignment(struct skin_draw_info *info, struct skin_element *element) +static __attribute__((noinline)) void fix_line_alignment(struct skin_draw_info *info, struct skin_element *element) { struct align_pos *align = &info->align; char *cur_pos = info->cur_align_start + strlen(info->cur_align_start); @@ -371,7 +371,7 @@ static void fix_line_alignment(struct skin_draw_info *info, struct skin_element } /* Draw a LINE element onto the display */ -static bool skin_render_line(struct skin_element* line, struct skin_draw_info *info) +static __attribute__((noinline)) bool skin_render_line(struct skin_element* line, struct skin_draw_info *info) { bool needs_update = false; int last_value, value; @@ -478,7 +478,7 @@ static bool skin_render_line(struct skin_element* line, struct skin_draw_info *i return needs_update; } -static int get_subline_timeout(struct gui_wps *gwps, struct skin_element* line) +static __attribute__((noinline)) int get_subline_timeout(struct gui_wps *gwps, struct skin_element* line) { struct skin_element *element=line; struct wps_token *token; @@ -514,7 +514,7 @@ static int get_subline_timeout(struct gui_wps *gwps, struct skin_element* line) return retval; } -bool skin_render_alternator(struct skin_element* element, struct skin_draw_info *info) +bool __attribute__((noinline)) skin_render_alternator(struct skin_element* element, struct skin_draw_info *info) { bool changed_lines = false; struct line_alternator *alternator = (struct line_alternator*)element->data; @@ -570,7 +570,7 @@ bool skin_render_alternator(struct skin_element* element, struct skin_draw_info return changed_lines || ret; } -static void skin_render_viewport(struct skin_element* viewport, struct gui_wps *gwps, +static __attribute__((noinline)) void skin_render_viewport(struct skin_element* viewport, struct gui_wps *gwps, struct skin_viewport* skin_viewport, unsigned long refresh_type) { struct screen *display = gwps->display; @@ -715,7 +715,7 @@ void skin_render(struct gui_wps *gwps, unsigned refresh_mode) } #ifdef HAVE_LCD_BITMAP -static void skin_render_playlistviewer(struct playlistviewer* viewer, +static __attribute__((noinline)) void skin_render_playlistviewer(struct playlistviewer* viewer, struct gui_wps *gwps, struct skin_viewport* skin_viewport, unsigned long refresh_type) |