summaryrefslogtreecommitdiff
path: root/indra/llui/llsdparam.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-05-21 17:16:11 -0700
committerRichard Linden <none@none>2012-05-21 17:16:11 -0700
commit61bc25211be31ad28b8ae342c17b4ea1c32d955c (patch)
tree05f7e0fd17bda6273fdf55cda379fd5596bbcd16 /indra/llui/llsdparam.cpp
parent4c7142f4836da9da77ac6ff2910aaa19506a655b (diff)
CHUI-111 FIX Saved notifications are not sorted in same order after logout and relog.
sort notifications in separate list llnotification now uses param block to serialize to llsd
Diffstat (limited to 'indra/llui/llsdparam.cpp')
-rw-r--r--indra/llui/llsdparam.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp
index bcfb38aa11..811e20e810 100644
--- a/indra/llui/llsdparam.cpp
+++ b/indra/llui/llsdparam.cpp
@@ -283,7 +283,10 @@ void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd, LLI
it != sd.endArray();
++it)
{
- stack.back().second = true;
+ if (!stack.empty())
+ {
+ stack.back().second = true;
+ }
readSDValues(cb, *it, stack);
}
}
@@ -336,7 +339,6 @@ namespace LLInitParam
void ParamValue<LLSD, NOT_BLOCK>::serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block) const
{
// read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc)
- Parser::name_stack_t stack;
- LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue, stack);
+ LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue, name_stack);
}
}