summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2009-11-23 10:15:00 -0800
committerJames Cook <james@lindenlab.com>2009-11-23 10:15:00 -0800
commit83237f875cb26d9f72055a5d47cdb928b30c0dc6 (patch)
tree1a4176f230cdf86d646d746610c4861d6417d0e5 /indra
parent67c832d94b53fb5d32ec27eebf7f57b668e899db (diff)
Allow large paramblocks by converting mEnclosingBlockOffset to U16, needed for
location_input.xml
Diffstat (limited to 'indra')
-rw-r--r--indra/llxuixml/llinitparam.cpp2
-rw-r--r--indra/llxuixml/llinitparam.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp
index 318a0348a2..4c050844f8 100644
--- a/indra/llxuixml/llinitparam.cpp
+++ b/indra/llxuixml/llinitparam.cpp
@@ -46,7 +46,7 @@ namespace LLInitParam
{
const U8* my_addr = reinterpret_cast<const U8*>(this);
const U8* block_addr = reinterpret_cast<const U8*>(enclosing_block);
- mEnclosingBlockOffset = (S16)(block_addr - my_addr);
+ mEnclosingBlockOffset = (U16)(my_addr - block_addr);
}
//
diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h
index 9fb464ca7b..b563c6fe51 100644
--- a/indra/llxuixml/llinitparam.h
+++ b/indra/llxuixml/llinitparam.h
@@ -300,14 +300,14 @@ namespace LLInitParam
const U8* my_addr = reinterpret_cast<const U8*>(this);
// get address of enclosing BLOCK class using stored offset to enclosing BaseBlock class
return *const_cast<BaseBlock*>(
- reinterpret_cast<const BaseBlock*>(my_addr + (ptrdiff_t)mEnclosingBlockOffset));
+ reinterpret_cast<const BaseBlock*>(my_addr - (ptrdiff_t)mEnclosingBlockOffset));
}
private:
friend class BaseBlock;
bool mIsProvided;
- S16 mEnclosingBlockOffset;
+ U16 mEnclosingBlockOffset;
};
// various callbacks and constraints associated with an individual param