diff options
Diffstat (limited to 'utils/themeeditor/models/parsetreenode.cpp')
| -rw-r--r-- | utils/themeeditor/models/parsetreenode.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp index 0a500bf..1fda29f 100644 --- a/utils/themeeditor/models/parsetreenode.cpp +++ b/utils/themeeditor/models/parsetreenode.cpp @@ -31,6 +31,7 @@ #include <iostream> int ParseTreeNode::openConditionals = 0; +bool ParseTreeNode::breakFlag = false; /* Root element constructor */ ParseTreeNode::ParseTreeNode(struct skin_element* data) @@ -520,8 +521,11 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport, { for(int i = 0; i < children.count(); i++) children[i]->render(info, viewport); - if(!noBreak) + if(!noBreak && !breakFlag) viewport->newLine(); + + if(breakFlag) + breakFlag = false; } else if(element->type == TEXT) { @@ -531,6 +535,8 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport, { if(!execTag(info, viewport)) viewport->write(evalTag(info).toString()); + if(element->tag->flags & NOBREAK) + breakFlag = true; } else if(element->type == CONDITIONAL) { |