diff options
| -rw-r--r-- | README.md | 13 | ||||
| -rwxr-xr-x | doc/contributions.txt | 9 | ||||
| -rwxr-xr-x | indra/linux_crash_logger/linux_crash_logger.cpp | 2 | ||||
| -rwxr-xr-x | indra/llcommon/llerror.h | 9 | ||||
| -rwxr-xr-x | indra/llmath/llcalcparser.h | 6 | ||||
| -rwxr-xr-x | indra/llui/llkeywords.cpp | 14 | ||||
| -rwxr-xr-x | indra/llui/lltextbase.cpp | 1 | ||||
| -rwxr-xr-x | indra/llui/lltextbase.h | 1 | ||||
| -rwxr-xr-x | indra/llui/lltexteditor.cpp | 8 | ||||
| -rwxr-xr-x | indra/llui/lltexteditor.h | 2 | ||||
| -rwxr-xr-x | indra/llui/llurlaction.cpp | 2 | ||||
| -rwxr-xr-x | indra/mac_crash_logger/mac_crash_logger.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llnetmap.cpp | 6 | ||||
| -rwxr-xr-x | indra/newview/llpanelprofile.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llviewermenu.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 5 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/panel_preferences_general.xml | 14 | 
17 files changed, 69 insertions, 29 deletions
| diff --git a/README.md b/README.md new file mode 100644 index 0000000000..431db7ed59 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +Second Life Viewer +================== + +This project manages the source code for the +[Second Life](https://www.secondlife.com) Viewer. + +This source is available as open source; for details on licensing, see +[https://wiki.secondlife.com/wiki/Linden_Lab_Official:Second_Life_Viewer_Licensing_Program](the +licensing page on the Second Life wiki) + +For information on how to use and contribute to this, see +[https://wiki.secondlife.com/wiki/Open_Source_Portal](the open source +portal on the wiki). diff --git a/doc/contributions.txt b/doc/contributions.txt index 53df40d172..f627145e19 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -185,6 +185,9 @@ Ansariel Hiller  	BUG-3764  	STORM-1984  	STORM-1979 +	STORM-2083 +	STORM-2094 +	MAINT-4677  Aralara Rajal  Arare Chantilly  	CHUIBUG-191 @@ -328,6 +331,7 @@ Cinder Roxley      STORM-2037      STORM-2053      STORM-2113 +    STORM-2098  Clara Young  Coaldust Numbers      VWR-1095 @@ -723,6 +727,11 @@ Jonathan Yap  	STORM-2034  	STORM-2018  	STORM-2082 +	STORM-2086 +	STORM-2085 +	STORM-2088 +	STORM-2094 +	STORM-2099  Kadah Coba  	STORM-1060      STORM-1843 diff --git a/indra/linux_crash_logger/linux_crash_logger.cpp b/indra/linux_crash_logger/linux_crash_logger.cpp index 36f62451d7..9d5ec33fed 100755 --- a/indra/linux_crash_logger/linux_crash_logger.cpp +++ b/indra/linux_crash_logger/linux_crash_logger.cpp @@ -42,7 +42,7 @@ int main(int argc, char **argv)      if (!(options.has("pid") && options.has("dumpdir")))      { -        llwarns << "Insufficient parameters to crash report." << llendl; +        LL_WARNS() << "Insufficient parameters to crash report." << LL_ENDL;      }  	if (! app.init()) diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h index 63040e1772..73544cb914 100755 --- a/indra/llcommon/llerror.h +++ b/indra/llcommon/llerror.h @@ -362,13 +362,4 @@ typedef LLError::NoClassInfo _LL_CLASS_TO_LOG;  #define LL_INFOS_ONCE(...)	lllog(LLError::LEVEL_INFO, true, ##__VA_ARGS__)  #define LL_WARNS_ONCE(...)	lllog(LLError::LEVEL_WARN, true, ##__VA_ARGS__) -// DEPRECATED: Use the new macros that allow tags and *look* like macros. -#define lldebugs	LL_COMPILE_TIME_MESSAGE("Warning: lldebugs deprecated, use LL_DEBUGS() instead") LL_DEBUGS() -#define llinfos		LL_COMPILE_TIME_MESSAGE("Warning: llinfos deprecated, use LL_INFOS() instead") LL_INFOS() -#define llwarns		LL_COMPILE_TIME_MESSAGE("Warning: llwarns deprecated, use LL_WARNS() instead") LL_WARNS() -#define llerrs		LL_COMPILE_TIME_MESSAGE("Warning: llerrs deprecated, use LL_ERRS() instead") LL_ERRS() -#define llcont		LL_COMPILE_TIME_MESSAGE("Warning: llcont deprecated, use LL_CONT instead") LL_CONT -#define llendl		LL_COMPILE_TIME_MESSAGE("Warning: llendl deprecated, use LL_ENDL instead") LL_ENDL - -  #endif // LL_LLERROR_H diff --git a/indra/llmath/llcalcparser.h b/indra/llmath/llcalcparser.h index faa699ff7b..e2388d6702 100755 --- a/indra/llmath/llcalcparser.h +++ b/indra/llmath/llcalcparser.h @@ -167,9 +167,9 @@ private:  	F32 _sin(const F32& a) const { return sin(DEG_TO_RAD * a); }  	F32 _cos(const F32& a) const { return cos(DEG_TO_RAD * a); }  	F32 _tan(const F32& a) const { return tan(DEG_TO_RAD * a); } -	F32 _asin(const F32& a) const { return asin(a * RAD_TO_DEG); } -	F32 _acos(const F32& a) const { return acos(a * RAD_TO_DEG); } -	F32 _atan(const F32& a) const { return atan(a * RAD_TO_DEG); } +	F32 _asin(const F32& a) const { return asin(a) * RAD_TO_DEG; } +	F32 _acos(const F32& a) const { return acos(a) * RAD_TO_DEG; } +	F32 _atan(const F32& a) const { return atan(a) * RAD_TO_DEG; }  	F32 _sqrt(const F32& a) const { return sqrt(a); }  	F32 _log(const F32& a) const { return log(a); }  	F32 _exp(const F32& a) const { return exp(a); } diff --git a/indra/llui/llkeywords.cpp b/indra/llui/llkeywords.cpp index 6750ee482a..6c1333a2af 100755 --- a/indra/llui/llkeywords.cpp +++ b/indra/llui/llkeywords.cpp @@ -673,7 +673,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW  						S32 seg_start = cur - base;  						S32 seg_end = seg_start + seg_len; -						// llinfos << "Seg: [" << word.c_str() << "]" << llendl; +						// LL_INFOS("SyntaxLSL") << "Seg: [" << word.c_str() << "]" << LL_ENDL;  						insertSegments(wtext, *seg_list,cur_token, text_len, seg_start, seg_end, defaultColor, editor);  					} @@ -740,10 +740,10 @@ void LLKeywords::insertSegment(std::vector<LLTextSegmentPtr>& seg_list, LLTextSe  #ifdef _DEBUG  void LLKeywords::dump()  { -	llinfos << "LLKeywords" << llendl; +	LL_INFOS() << "LLKeywords" << LL_ENDL; -	llinfos << "LLKeywords::sWordTokenMap" << llendl; +	LL_INFOS() << "LLKeywords::sWordTokenMap" << LL_ENDL;  	word_token_map_t::iterator word_token_iter = mWordTokenMap.begin();  	while( word_token_iter != mWordTokenMap.end() )  	{ @@ -752,7 +752,7 @@ void LLKeywords::dump()  		++word_token_iter;  	} -	llinfos << "LLKeywords::sLineTokenList" << llendl; +	LL_INFOS() << "LLKeywords::sLineTokenList" << LL_ENDL;  	for (token_list_t::iterator iter = mLineTokenList.begin();  		 iter != mLineTokenList.end(); ++iter)  	{ @@ -761,7 +761,7 @@ void LLKeywords::dump()  	} -	llinfos << "LLKeywords::sDelimiterTokenList" << llendl; +	LL_INFOS() << "LLKeywords::sDelimiterTokenList" << LL_ENDL;  	for (token_list_t::iterator iter = mDelimiterTokenList.begin();  		 iter != mDelimiterTokenList.end(); ++iter)  	{ @@ -772,12 +772,12 @@ void LLKeywords::dump()  void LLKeywordToken::dump()  { -	llinfos << "[" << +	LL_INFOS() << "[" <<  		mColor.mV[VX] << ", " <<  		mColor.mV[VY] << ", " <<  		mColor.mV[VZ] << "] [" <<  		wstring_to_utf8str(mToken) << "]" << -		llendl; +		LL_ENDL;  }  #endif  // DEBUG diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 602a703450..20ec243ec5 100755 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1316,6 +1316,7 @@ void LLTextBase::replaceWithSuggestion(U32 index)  			setCursorPos(it->first + (S32)suggestion.length()); +			onSpellCheckPerformed();  			break;  		} diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index dfc10923f3..0698e9b53c 100755 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -362,6 +362,7 @@ public:  	std::string				getMisspelledWord(U32 pos) const;  	bool					isMisspelledWord(U32 pos) const;  	void					onSpellCheckSettingsChange(); +	virtual void			onSpellCheckPerformed(){}  	// used by LLTextSegment layout code  	bool					getWordWrap() { return mWordWrap; } diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 926326aaff..d170d17f94 100755 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -2380,6 +2380,14 @@ void LLTextEditor::removeTextFromEnd(S32 num_chars)  //---------------------------------------------------------------------------- +void LLTextEditor::onSpellCheckPerformed() +{ +	if (isPristine()) +	{ +		mBaseDocIsPristine = FALSE; +	} +} +  void LLTextEditor::makePristine()  {  	mPristineCmd = mLastCmd; diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h index f6bdf917b4..26702b2412 100755 --- a/indra/llui/lltexteditor.h +++ b/indra/llui/lltexteditor.h @@ -160,6 +160,8 @@ public:  	autoreplace_callback_t mAutoreplaceCallback;  	void			setAutoreplaceCallback(autoreplace_callback_t cb) { mAutoreplaceCallback = cb; } +	/*virtual*/ void	onSpellCheckPerformed(); +  	//  	// Text manipulation  	// diff --git a/indra/llui/llurlaction.cpp b/indra/llui/llurlaction.cpp index 12537d9dd1..c28dbb8577 100755 --- a/indra/llui/llurlaction.cpp +++ b/indra/llui/llurlaction.cpp @@ -227,6 +227,6 @@ void LLUrlAction::blockObject(std::string url)  	std::string object_name = getObjectName(url);  	if (LLUUID::validate(object_id))  	{ -		executeSLURL("secondlife:///app/agent/" + object_id + "/block/" + object_name); +		executeSLURL("secondlife:///app/agent/" + object_id + "/block/" + LLURI::escape(object_name));  	}  } diff --git a/indra/mac_crash_logger/mac_crash_logger.cpp b/indra/mac_crash_logger/mac_crash_logger.cpp index d6b913829e..b65a80331e 100755 --- a/indra/mac_crash_logger/mac_crash_logger.cpp +++ b/indra/mac_crash_logger/mac_crash_logger.cpp @@ -41,7 +41,7 @@ int main(int argc, char **argv)      if (!(options.has("pid") && options.has("dumpdir")))      { -        llwarns << "Insufficient parameters to crash report." << llendl; +        LL_WARNS() << "Insufficient parameters to crash report." << LL_ENDL;      }  	if (! app.init()) diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp index d7e7f13e87..5fc73c67d1 100755 --- a/indra/newview/llnetmap.cpp +++ b/indra/newview/llnetmap.cpp @@ -96,13 +96,13 @@ LLNetMap::LLNetMap (const Params & p)  	mToolTipMsg(),  	mPopupMenu(NULL)  { +	mScale = gSavedSettings.getF32("MiniMapScale"); +	mPixelsPerMeter = mScale / REGION_WIDTH_METERS;  	mDotRadius = llmax(DOT_SCALE * mPixelsPerMeter, MIN_DOT_RADIUS); -	setScale(gSavedSettings.getF32("MiniMapScale"));  }  LLNetMap::~LLNetMap()  { -	gSavedSettings.setF32("MiniMapScale", mScale);  }  BOOL LLNetMap::postBuild() @@ -137,6 +137,8 @@ void LLNetMap::setScale( F32 scale )  	mPixelsPerMeter = mScale / REGION_WIDTH_METERS;  	mDotRadius = llmax(DOT_SCALE * mPixelsPerMeter, MIN_DOT_RADIUS); +	gSavedSettings.setF32("MiniMapScale", mScale); +  	mUpdateNow = true;  } diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index f91c4110c0..e795e7eedb 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -168,7 +168,7 @@ public:  		{  			if (params.size() > 2)  			{ -				const std::string object_name = params[2].asString(); +				const std::string object_name = LLURI::unescape(params[2].asString());  				LLMute mute(avatar_id, object_name, LLMute::OBJECT);  				LLMuteList::getInstance()->add(mute);  				LLPanelBlockedList::showPanelAndSelect(mute.mID); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3096d8c7ce..7e8bd9a4e0 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2831,6 +2831,8 @@ BOOL enable_object_build(void*)  bool enable_object_edit()  { +	if (!isAgentAvatarValid()) return false; +	  	// *HACK:  The new "prelude" Help Islands have a build sandbox area,  	// so users need the Edit and Create pie menu options when they are  	// there.  Eventually this needs to be replaced with code that only  diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 24131495c3..506b110afe 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -2481,8 +2481,9 @@ This is usually a temporary failure. Please customize and save the wearable agai     icon="alertmodal.tga"     name="YouHaveBeenLoggedOut"     type="alertmodal"> -Darn. You have been logged out of [SECOND_LIFE] -            [MESSAGE] +Darn. You have been logged out of [SECOND_LIFE]. + +[MESSAGE]      <usetemplate       name="okcancelbuttons"       notext="Quit" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index f6665a1d5d..9da044ab64 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -39,7 +39,12 @@           enabled="true"           label="English"           name="English" -         value="en" />         +         value="en" /> +        <combo_box.item +         enabled="true" +         label="Dansk (Danish) - Beta" +         name="Danish" +         value="da" />          <combo_box.item           enabled="true"           label="Deutsch (German) - Beta" @@ -59,7 +64,12 @@           enabled="true"           label="Italiano (Italian) - Beta"           name="Italian" -         value="it" />         +         value="it" /> +        <combo_box.item +         enabled="true" +         label="Polski (Polish) - Beta" +         name="Polish" +         value="pl" />          <combo_box.item           enabled="true"           label="Português (Portuguese) - Beta" | 
