diff options
Diffstat (limited to 'apps/gui/skin_engine')
-rw-r--r-- | apps/gui/skin_engine/skin_render.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 0c18848645..46ae16b1ab 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c | |||
@@ -509,10 +509,16 @@ bool skin_render_alternator(struct skin_element* element, struct skin_draw_info | |||
509 | } | 509 | } |
510 | if (element->children[alternator->current_line]->children_count == 0) | 510 | if (element->children[alternator->current_line]->children_count == 0) |
511 | { | 511 | { |
512 | int old_line = alternator->current_line; | ||
513 | int line = alternator->current_line+1; | ||
512 | /* skip empty sublines */ | 514 | /* skip empty sublines */ |
513 | alternator->current_line++; | 515 | while (line!=old_line && element->children[line]->children_count == 0) |
514 | if (alternator->current_line >= element->children_count) | 516 | { |
515 | alternator->current_line = 0; | 517 | line++; |
518 | if (line >= element->children_count) | ||
519 | line = 0; | ||
520 | } | ||
521 | alternator->current_line = line; | ||
516 | changed_lines = true; | 522 | changed_lines = true; |
517 | } | 523 | } |
518 | 524 | ||