summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2015-06-15 15:53:45 -0400
committerOz Linden <oz@lindenlab.com>2015-06-15 15:53:45 -0400
commit95fc2d48eced78b2aaa29b9e8b3f9410eed1ad8c (patch)
tree7748f0142e0ecbc91daa33c42a679799c4375d5e /indra/newview/llviewerobject.cpp
parent96d16928600dbf3666221a19575af9330840cfd5 (diff)
parente0f5ed29daa3b2803aaec60a77bde8df7df292ee (diff)
merge changes for 3.7.30-release
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rwxr-xr-xindra/newview/llviewerobject.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 790301a3bb..382f077601 100755
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -3001,7 +3001,7 @@ void LLViewerObject::processTaskInvFile(void** user_data, S32 error_code, LLExtS
BOOL LLViewerObject::loadTaskInvFile(const std::string& filename)
{
std::string filename_and_local_path = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, filename);
- llifstream ifs(filename_and_local_path);
+ llifstream ifs(filename_and_local_path.c_str());
if(ifs.good())
{
char buffer[MAX_STRING]; /* Flawfinder: ignore */
@@ -3374,8 +3374,17 @@ void LLViewerObject::setLinksetCost(F32 cost)
{
mLinksetCost = cost;
mCostStale = false;
-
- if (isSelected())
+
+ BOOL needs_refresh = isSelected();
+ child_list_t::iterator iter = mChildList.begin();
+ while(iter != mChildList.end() && !needs_refresh)
+ {
+ LLViewerObject* child = *iter;
+ needs_refresh = child->isSelected();
+ iter++;
+ }
+
+ if (needs_refresh)
{
gFloaterTools->dirty();
}