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 | |
| 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.
| -rw-r--r-- | indra/llui/tests/llurlmatch_test.cpp | 2 | ||||
| -rw-r--r-- | indra/llxuixml/llinitparam.cpp | 2 | ||||
| -rw-r--r-- | indra/llxuixml/llinitparam.h | 7 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 5 | 
4 files changed, 11 insertions, 5 deletions
| diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index e09ef33d49..3cd61e574e 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -95,7 +95,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));  	}  	bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; } 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 diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 4ecb645337..e97f0fcc2e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1979,7 +1979,10 @@ void LLViewerWindow::shutdownViews()  	// destroy the nav bar, not currently part of gViewerWindow  	// *TODO: Make LLNavigationBar part of gViewerWindow -	delete LLNavigationBar::getInstance(); +	if (LLNavigationBar::instanceExists()) +	{ +		delete LLNavigationBar::getInstance(); +	}  	// destroy menus after instantiating navbar above, as it needs  	// access to gMenuHolder | 
