summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-08-19 01:52:52 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-08-19 01:52:52 +0000
commit2492e258fa9d04ed519c1d58dc69503d18180661 (patch)
tree8a46bdc54e38537445e9d8d8d25bc94a69130c6c /apps/gui
parentcaf20113116b1b6668804969b70b016146ee1103 (diff)
downloadrockbox-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.c18
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;