summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawable.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2012-11-08 21:36:47 -0700
committerXiaohong Bao <bao@lindenlab.com>2012-11-08 21:36:47 -0700
commitc2859e4663c405950b6f433270ae558852330c76 (patch)
tree2cd7873a89bbb1e4772ab9a92324b1e86814cb49 /indra/newview/lldrawable.cpp
parent8e6341b9194b1fb27d92d8f5e6739390ac882941 (diff)
for SH-3472: prioritize object loading
Diffstat (limited to 'indra/newview/lldrawable.cpp')
-rw-r--r--indra/newview/lldrawable.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index e29551e83c..c782fbfe7e 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -470,7 +470,13 @@ void LLDrawable::makeActive()
}
updatePartition();
}
-
+ else if (!isRoot() && !mParent->isActive()) //this should not happen, but occasionally it does...
+ {
+ mParent->makeActive();
+ //NOTE: linked set will now NEVER become static
+ mParent->setState(LLDrawable::ACTIVE_CHILD);
+ }
+
llassert(isAvatar() || isRoot() || mParent->isActive());
}
@@ -1093,6 +1099,11 @@ LLSpatialBridge::LLSpatialBridge(LLDrawable* root, BOOL render_by_group, U32 dat
{
part->put(this);
}
+
+ if(mDrawable->getEntry()->hasVOCacheEntry())
+ {
+ ((LLVOCacheEntry*)mDrawable->getEntry()->getVOCacheEntry())->setBridgeChild();
+ }
}
LLSpatialBridge::~LLSpatialBridge()
@@ -1470,9 +1481,9 @@ void LLSpatialBridge::cleanupReferences()
dummy_entry = new LLVOCacheEntry();
dummy_entry->setOctreeEntry(mEntry);
dummy_entry->addChild((LLVOCacheEntry*)mDrawable->getEntry()->getVOCacheEntry());
- llassert(!mDrawable->getParent());
+ //llassert(!mDrawable->getParent());
- mDrawable->mParent = this;
+ //mDrawable->mParent = this;
}
LLDrawable::cleanupReferences();