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" |