summaryrefslogtreecommitdiff
path: root/indra/llxuixml
diff options
context:
space:
mode:
authorrichard <none@none>2009-11-23 11:37:32 -0800
committerrichard <none@none>2009-11-23 11:37:32 -0800
commite0a364b7bf836191f25604ef9c3783be46c1ce55 (patch)
tree62409f57d2f34cf374d57e4b56a519e42cdb2416 /indra/llxuixml
parent8ef1dcf72ad2b425e7e849edb4e47d86bff23a0b (diff)
comverted mEnclosingBlockOffset from signed to unsigned to support param blocks up to 32k in size
reviewed by James
Diffstat (limited to 'indra/llxuixml')
-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..493ddaa378 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)(S32)mEnclosingBlockOffset));
}
private:
friend class BaseBlock;
bool mIsProvided;
- S16 mEnclosingBlockOffset;
+ U16 mEnclosingBlockOffset;
};
// various callbacks and constraints associated with an individual param