Skip to content

Commit c340dde

Browse files
committed
Speculative fixes.
1 parent 25cb812 commit c340dde

3 files changed

Lines changed: 13 additions & 9 deletions

File tree

indra/newview/lldrawable.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,6 +1149,7 @@ LLSpatialPartition* LLDrawable::getSpatialPartition()
11491149
//must be an active volume
11501150
if (!mSpatialBridge)
11511151
{
1152+
// Spatial bridge ctors self-register...
11521153
if (mVObjp->isHUDAttachment())
11531154
{
11541155
setSpatialBridge(new LLHUDBridge(this, getRegion()));
@@ -1615,9 +1616,9 @@ void LLSpatialBridge::cleanupReferences()
16151616
}
16161617
}*/
16171618

1618-
LLDrawable* drawablep = mDrawable;
1619-
mDrawable = NULL;
1620-
drawablep->setSpatialBridge(NULL);
1619+
LLPointer<LLDrawable> drawablep = mDrawable;
1620+
mDrawable = nullptr;
1621+
drawablep->setSpatialBridge(nullptr);
16211622
}
16221623
}
16231624

indra/newview/llvovolume.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5565,15 +5565,15 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
55655565

55665566
else
55675567
{
5568-
if( type == LLDrawPool::POOL_FULLBRIGHT || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)
5569-
{
5570-
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT);
5571-
}
55725568
//Annoying exception to the rule. getPoolTypeFromTE will return POOL_ALPHA_MASK for legacy bumpmaps, but there is no POOL_ALPHA_MASK in deferred.
5573-
else if(type == LLDrawPool::POOL_MATERIALS || (type == LLDrawPool::POOL_ALPHA_MASK && mat))
5569+
if (type == LLDrawPool::POOL_MATERIALS || ((type == LLDrawPool::POOL_ALPHA_MASK || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK) && mat))
55745570
{
55755571
pool->addRiggedFace(facep, mat->getShaderMask());
55765572
}
5573+
else if (type == LLDrawPool::POOL_FULLBRIGHT || type == LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)
5574+
{
5575+
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT);
5576+
}
55775577
else if (type == LLDrawPool::POOL_BUMP && te->getBumpmap())
55785578
{
55795579
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_DEFERRED_BUMP);
@@ -5670,7 +5670,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
56705670
type = LLDrawPool::POOL_FULLBRIGHT;
56715671
}
56725672
}
5673-
else if(force_simple && type != LLDrawPool::POOL_FULLBRIGHT && type != LLDrawPool::POOL_ALPHA_MASK && type != LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)
5673+
else if(force_simple && type != LLDrawPool::POOL_FULLBRIGHT && (!LLPipeline::sRenderDeferred && (type != LLDrawPool::POOL_ALPHA_MASK && type != LLDrawPool::POOL_FULLBRIGHT_ALPHA_MASK)))
56745674
{
56755675
type = LLDrawPool::POOL_SIMPLE;
56765676
}

indra/newview/pipeline.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2667,6 +2667,9 @@ void LLPipeline::clearRebuildGroups()
26672667
iter != mGroupQ2.end(); ++iter)
26682668
{
26692669
LLSpatialGroup* group = *iter;
2670+
if (group == nullptr) {
2671+
LL_WARNS() << "Null spatial group in Pipeline::mGroupQ2." << LL_ENDL;
2672+
}
26702673

26712674
// If the group contains HUD objects, save the group
26722675
if (group->isHUDGroup())

0 commit comments

Comments
 (0)