summaryrefslogtreecommitdiff
path: root/indra/llcommon/llinitparam.h
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-08-03 17:43:48 -0700
committerRichard Linden <none@none>2012-08-03 17:43:48 -0700
commit118e3b33bd417331397f89770d46b1b3eeeffc8e (patch)
treef07523def3ab984cfafc57af1e25d4f7ac7a42d2 /indra/llcommon/llinitparam.h
parenta831cb5bee19357e4d71a7408492fcb58a9042ac (diff)
CHUI-270 FIX Progress spinner not visible in merchant outbox
Diffstat (limited to 'indra/llcommon/llinitparam.h')
-rw-r--r--indra/llcommon/llinitparam.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h
index 2f767c234e..14ba8e0b43 100644
--- a/indra/llcommon/llinitparam.h
+++ b/indra/llcommon/llinitparam.h
@@ -2194,7 +2194,7 @@ namespace LLInitParam
resetToDefault();
}
return mValue.deserializeBlock(p, name_stack_range, new_name);
- }
+ }
void serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const self_t* diff_block = NULL) const
{
@@ -2211,12 +2211,16 @@ namespace LLInitParam
bool mergeBlockParam(bool source_provided, bool dst_provided, BlockDescriptor& block_data, const self_t& source, bool overwrite)
{
- if (overwrite)
+ if ((overwrite && source_provided) // new values coming in on top or...
+ || (!overwrite && !dst_provided)) // values being pushed under with nothing already there
{
+ // clear away what is there and take the new stuff as a whole
resetToDefault();
return mValue.mergeBlock(block_data, source.getValue(), overwrite);
}
- return false;
+
+
+ return mValue.mergeBlock(block_data, source.getValue(), overwrite);
}
bool validateBlock(bool emit_errors = true) const