From 1a92e103204bf467c1fb9b97927b26b7ad032de7 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Mon, 29 Feb 2016 14:00:04 +0200 Subject: MAINT-5760 Save the favorite in file with empty slurl string if it points to location that is no longer valid --- indra/newview/llfavoritesbar.cpp | 16 ++++++++++++++-- indra/newview/llfavoritesbar.h | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index efabcf6056..d614d612ff 100755 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -1800,6 +1800,16 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed) } } + for (std::set::iterator it = mMissingSLURLs.begin(); it != mMissingSLURLs.end(); it++) + { + slurls_map_t::iterator slurl_iter = mSLURLs.find(*it); + if (slurl_iter != mSLURLs.end()) + { + pref_changed = true; + break; + } + } + if((items != mPrevFavorites) || name_changed || pref_changed) { std::string filename = getStoredFavoritesFilename(); @@ -1820,6 +1830,7 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed) LLSD user_llsd; S32 fav_iter = 0; + mMissingSLURLs.clear(); for (LLInventoryModel::item_array_t::iterator it = items.begin(); it != items.end(); it++) { LLSD value; @@ -1837,8 +1848,10 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed) else { getSLURL((*it)->getAssetUUID()); + value["slurl"] = ""; + user_llsd[fav_iter] = value; mUpdateRequired = true; - return FALSE; + mMissingSLURLs.insert((*it)->getAssetUUID()); } } else @@ -1869,7 +1882,6 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed) << "' at '" << filename << "' " << LL_ENDL; } } - mPrevFavorites = items; } diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 846d62227a..2115f77cf3 100755 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -245,7 +245,7 @@ private: typedef std::map slurls_map_t; slurls_map_t mSLURLs; - + std::set mMissingSLURLs; bool mIsDirty; struct IsNotInFavorites -- cgit v1.2.3 From 9197a8652e49178c63ea208c6c4acf1ca3433659 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Wed, 9 Mar 2016 15:25:58 +0200 Subject: MAINT-6110 FIXED No hovertext (PRIM_TEXT/llSetText) on child prim --- indra/newview/llhudtext.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp index 05c8c236e9..52e83fe412 100755 --- a/indra/newview/llhudtext.cpp +++ b/indra/newview/llhudtext.cpp @@ -374,7 +374,7 @@ void LLHUDText::updateVisibility() mVisible = FALSE; return; } - + if (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis() <= LLViewerCamera::getInstance()->getNear() + 0.1f + mSourceObject->getVObjRadius()) { mPositionAgent = LLViewerCamera::getInstance()->getOrigin() + vec_from_camera * ((LLViewerCamera::getInstance()->getNear() + 0.1f) / (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis())); @@ -384,21 +384,17 @@ void LLHUDText::updateVisibility() mPositionAgent -= dir_from_camera * mSourceObject->getVObjRadius(); } - if (!mTextSegments.size()) + mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec(); + + if (!mTextSegments.size() || (mDoFade && (mLastDistance > mFadeDistance + mFadeRange))) { mVisible = FALSE; return; } - mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec(); - F32 obj_dist = dist_vec(mSourceObject->getPositionEdit(), LLViewerCamera::getInstance()->getOrigin()); - - if(mSourceObject->isAttachment()) - { - LLViewerObject* parent = (LLViewerObject*)mSourceObject->getRoot(); - obj_dist = dist_vec(parent->getPositionEdit(), LLViewerCamera::getInstance()->getOrigin()); - } - if ((mDoFade && (mLastDistance > mFadeDistance + mFadeRange)) || (obj_dist > MAX_DRAW_DISTANCE)) + LLVector3 pos_agent_center = gAgent.getPosAgentFromGlobal(mPositionGlobal) - dir_from_camera; + F32 last_distance_center = (pos_agent_center - LLViewerCamera::getInstance()->getOrigin()).magVec(); + if(last_distance_center > MAX_DRAW_DISTANCE) { mVisible = FALSE; return; -- cgit v1.2.3 From 4aae7b51616c0963af4668442bdb5bfaba8c5044 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 17 Mar 2016 14:31:21 -0400 Subject: increment viewer version to 4.0.3 --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 4d54daddb6..c4e41f9459 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -4.0.2 +4.0.3 -- cgit v1.2.3