diff options
author | Richard Linden <none@none> | 2012-10-25 17:30:03 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2012-10-25 17:30:03 -0700 |
commit | 7f97aa2d5db0d1429136a40d04d2e4428cb184fe (patch) | |
tree | beac059a2c447c1d4ad0d3f3fa6d6ff1e942358c /indra/llui | |
parent | 1de6ecb23851e0784016a2c4c9f691c976c6bda7 (diff) |
SH-3405 WIP convert existing stats to lltrace system
fixed crash on exit
Diffstat (limited to 'indra/llui')
-rw-r--r-- | indra/llui/llxuiparser.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/llui/llxuiparser.cpp b/indra/llui/llxuiparser.cpp index 179a1184af..95cda92632 100644 --- a/indra/llui/llxuiparser.cpp +++ b/indra/llui/llxuiparser.cpp @@ -880,16 +880,24 @@ LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) it = next_it) { ++next_it; + bool force_new_node = false; + if (it->first.empty()) { it->second = false; continue; } + if (next_it != stack.end() && next_it->first.empty() && next_it->second) + { + force_new_node = true; + } + + out_nodes_t::iterator found_it = mOutNodes.find(it->first); // node with this name not yet written - if (found_it == mOutNodes.end() || it->second) + if (found_it == mOutNodes.end() || it->second || force_new_node) { // make an attribute if we are the last element on the name stack bool is_attribute = next_it == stack.end(); |