diff options
author | Leslie Linden <none@none> | 2011-06-08 15:46:34 -0700 |
---|---|---|
committer | Leslie Linden <none@none> | 2011-06-08 15:46:34 -0700 |
commit | 86470d3889436017264a69d57fb2060a591955f4 (patch) | |
tree | 8c262d019b1dd3c8eba83bfbe3025003bba58a9b /indra/llxuixml | |
parent | 1361eeae4e4538c175a32d48246897c4659cc26c (diff) |
Fixed to allow param blocks to exceed 64k, even though the size makes me wince.
Modified viewer window to not create a navigation bar on exit if one doesn't yet exist.
Reviewed by Richard.
Diffstat (limited to 'indra/llxuixml')
-rw-r--r-- | indra/llxuixml/llinitparam.cpp | 2 | ||||
-rw-r--r-- | indra/llxuixml/llinitparam.h | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index b3312798dd..c024fd405e 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -40,7 +40,7 @@ namespace LLInitParam { const U8* my_addr = reinterpret_cast<const U8*>(this); const U8* block_addr = reinterpret_cast<const U8*>(enclosing_block); - mEnclosingBlockOffset = (U16)(my_addr - block_addr); + mEnclosingBlockOffset = 0x7FFFffff & ((U32)(my_addr - block_addr)); } // diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index a853999e94..35c889b69f 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -34,6 +34,8 @@ #include <boost/unordered_map.hpp> #include <boost/shared_ptr.hpp> +#include "llerror.h" + namespace LLInitParam { template<typename T> const T& defaultValue() { static T value; return value; } @@ -302,8 +304,9 @@ namespace LLInitParam private: friend class BaseBlock; - U16 mEnclosingBlockOffset; - bool mIsProvided; + U32 mEnclosingBlockOffset:31; + U32 mIsProvided:1; + }; // various callbacks and constraints associated with an individual param |