From b22077cd600c183e406dea79548b50b5ec5e3585 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Thu, 29 Jul 2010 06:41:33 +0000 Subject: Theme Editor: Renderer now correctly handles special case with only one branch in a conditional git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27609 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/models/parsetreenode.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'utils') diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp index 25351bf6a1..338f88525b 100644 --- a/utils/themeeditor/models/parsetreenode.cpp +++ b/utils/themeeditor/models/parsetreenode.cpp @@ -560,7 +560,9 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport, else if(element->type == CONDITIONAL) { int child = evalTag(info, true, element->children_count).toInt(); - children[element->params_count + child]->render(info, viewport, true); + if(child < children.count()) + children[element->params_count + child] + ->render(info, viewport, true); } else if(element->type == LINE_ALTERNATOR) { @@ -1016,6 +1018,8 @@ QVariant ParseTreeNode::evalTag(const RBRenderInfo& info, bool conditional, if(child < branches) return child; + else if(branches == 1) + return 2; else return branches - 1; } -- cgit v1.2.3