diff --git a/utils/themeeditor/parsetreenode.cpp b/utils/themeeditor/parsetreenode.cpp index 70124c338d..63555ae616 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 9ff4f90115..347d675b55 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;