diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-08-19 01:52:52 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-08-19 01:52:52 +0000 |
| commit | 2492e258fa9d04ed519c1d58dc69503d18180661 (patch) | |
| tree | 8a46bdc54e38537445e9d8d8d25bc94a69130c6c /apps/gui | |
| parent | caf20113116b1b6668804969b70b016146ee1103 (diff) | |
| download | rockbox-2492e258fa9d04ed519c1d58dc69503d18180661.zip rockbox-2492e258fa9d04ed519c1d58dc69503d18180661.tar.gz rockbox-2492e258fa9d04ed519c1d58dc69503d18180661.tar.bz2 rockbox-2492e258fa9d04ed519c1d58dc69503d18180661.tar.xz | |
conditional viewports are allowed to share labels.. so make sure they are all toggled with %xd<label>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22417 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
| -rw-r--r-- | apps/gui/skin_engine/skin_display.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index 6b86a8b..85cc65d 100644 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c @@ -605,12 +605,20 @@ static bool get_line(struct gui_wps *gwps, { char label = data->tokens[i].value.i; char temp = VP_DRAW_HIDEABLE; - struct skin_viewport *vp = find_viewport(label, data); - if (vp) + /* viewports are allowed to share id's so find and enable + * all of them */ + struct skin_token_list *list = data->viewports; + while (list) { - if (vp->hidden_flags&VP_DRAW_WASHIDDEN) - temp |= VP_DRAW_WASHIDDEN; - vp->hidden_flags = temp; + struct skin_viewport *vp = + (struct skin_viewport *)list->token->value.data; + if (vp->label == label) + { + if (vp->hidden_flags&VP_DRAW_WASHIDDEN) + temp |= VP_DRAW_WASHIDDEN; + vp->hidden_flags = temp; + } + list = list->next; } } break; |