diff options
Diffstat (limited to 'indra/llui/llsdparam.h')
-rw-r--r-- | indra/llui/llsdparam.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index e98318fc1e..83c958d67d 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -54,11 +54,12 @@ private: void readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block); template<typename T> - bool writeTypedValue(const void* val_ptr, const parser_t::name_stack_t& name_stack) + static bool writeTypedValue(Parser& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) { - if (!mWriteSD) return false; + LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); + if (!sdparser.mWriteSD) return false; - LLSD* sd_to_write = getSDWriteNode(name_stack); + LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); if (!sd_to_write) return false; sd_to_write->assign(*((const T*)val_ptr)); @@ -67,7 +68,7 @@ private: LLSD* getSDWriteNode(const parser_t::name_stack_t& name_stack); - bool writeU32Param(const void* value_ptr, const parser_t::name_stack_t& name_stack); + static bool writeU32Param(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); static bool readS32(Parser& parser, void* val_ptr); static bool readU32(Parser& parser, void* val_ptr); |