From bf55168add47bacba8068623e7d78a3b4d149918 Mon Sep 17 00:00:00 2001 From: bieber Date: Wed, 2 Jun 2010 06:41:41 +0000 Subject: [PATCH] Theme Editor: Fixed bugs in code generation and viewport parsing git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26464 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/parsetreenode.cpp | 13 +++++++++++-- utils/themeeditor/skin_parser.c | 9 ++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/utils/themeeditor/parsetreenode.cpp b/utils/themeeditor/parsetreenode.cpp index 70124c338..63555ae61 100644 --- a/utils/themeeditor/parsetreenode.cpp +++ b/utils/themeeditor/parsetreenode.cpp @@ -97,6 +97,14 @@ QString ParseTreeNode::genCode() const { case VIEWPORT: + buffer.append(children[0]->genCode()); + if(!children[0]->isParam() + && children[0]->getElement()->type == TAG) + buffer.append('\n'); + for(int i = 1; i < children.count(); i++) + buffer.append(children[i]->genCode()); + break; + case LINE: for(int i = 0; i < children.count(); i++) { @@ -107,9 +115,10 @@ QString ParseTreeNode::genCode() const if(children[i]->element->type == TAG) buffer.append(TAGSYM); buffer.append(children[i]->genCode()); - if(element->type == LINE || i == 0) - buffer.append('\n'); + buffer.append('\n'); } + if(children.count() == 0) + buffer.append('\n'); break; case SUBLINES: diff --git a/utils/themeeditor/skin_parser.c b/utils/themeeditor/skin_parser.c index 9ff4f9011..347d675b5 100644 --- a/utils/themeeditor/skin_parser.c +++ b/utils/themeeditor/skin_parser.c @@ -163,11 +163,7 @@ struct skin_element* skin_parse_viewport(char** document) else to_write = &(last->next); - if(*cursor == '\n') - { - cursor++; - } - else if(sublines) + if(sublines) { *to_write = skin_parse_sublines(&cursor); last = *to_write; @@ -188,6 +184,9 @@ struct skin_element* skin_parse_viewport(char** document) while(last->next) last = last->next; + if(*cursor == '\n') + cursor++; + } *document = cursor; -- 2.11.4.GIT