diff options
| author | Dave Parks <davep@lindenlab.com> | 2013-05-09 15:40:02 -0500 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2013-05-09 15:40:02 -0500 | 
| commit | be9f71d16660e37fb058ddf05f20e6a80a272862 (patch) | |
| tree | 5c416e80224e213ac46a98284fa8ade610290974 /indra | |
| parent | 592586052c9f0b4a189e5ebdeecb737ecd2eed9c (diff) | |
MAINT-2647 Fix for some objects not rendering until first LoD switch/selection.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/lldrawable.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lldrawable.h | 1 | ||||
| -rw-r--r-- | indra/newview/llviewerobject.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llviewerobjectlist.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 5 | 
5 files changed, 5 insertions, 9 deletions
| diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index 2e3a9119b8..31ab37f970 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -441,7 +441,7 @@ void LLDrawable::makeActive()  	}  	llassert(isAvatar() || isRoot() || mParent->isActive()); -	} +}  void LLDrawable::makeStatic(BOOL warning_enabled) diff --git a/indra/newview/lldrawable.h b/indra/newview/lldrawable.h index 4608d16fec..4420a34fae 100644 --- a/indra/newview/lldrawable.h +++ b/indra/newview/lldrawable.h @@ -284,7 +284,6 @@ public:   		NEARBY_LIGHT	= 0x00200000, // In gPipeline.mNearbyLightSet  		BUILT			= 0x00400000,  		FORCE_INVISIBLE = 0x00800000, // stay invis until CLEAR_INVISIBLE is set (set of orphaned) -		CLEAR_INVISIBLE = 0x01000000, // clear FORCE_INVISIBLE next draw frame  		REBUILD_SHADOW =  0x02000000,  		HAS_ALPHA		= 0x04000000,  		RIGGED			= 0x08000000, diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 9dc9932c86..e17b085eab 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2137,7 +2137,8 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  		if (mDrawable->isState(LLDrawable::FORCE_INVISIBLE) && !mOrphaned)  		{  // 			lldebugs << "Clearing force invisible: " << mID << ":" << getPCodeString() << ":" << getPositionAgent() << llendl; -			mDrawable->setState(LLDrawable::CLEAR_INVISIBLE); +			mDrawable->clearState(LLDrawable::FORCE_INVISIBLE); +			gPipeline.markRebuild( mDrawable, LLDrawable::REBUILD_ALL, TRUE );  		}  	} diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index fa79ac07e6..66615657d8 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -2064,8 +2064,9 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port)  			if (childp->mDrawable.notNull())  			{  				// Make the drawable visible again and set the drawable parent - 				childp->mDrawable->setState(LLDrawable::CLEAR_INVISIBLE); +				childp->mDrawable->clearState(LLDrawable::FORCE_INVISIBLE);  				childp->setDrawableParent(objectp->mDrawable); // LLViewerObjectList::findOrphans() +				gPipeline.markRebuild( childp->mDrawable, LLDrawable::REBUILD_ALL, TRUE );  			}  			// Make certain particles, icon and HUD aren't hidden diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 442c3ef124..16596f2574 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -3320,11 +3320,6 @@ void LLPipeline::stateSort(LLDrawable* drawablep, LLCamera& camera)  		{  			drawablep->setVisible(camera, NULL, FALSE);  		} -		else if (drawablep->isState(LLDrawable::CLEAR_INVISIBLE)) -		{ -			// clear invisible flag here to avoid single frame glitch -			drawablep->clearState(LLDrawable::FORCE_INVISIBLE|LLDrawable::CLEAR_INVISIBLE); -		}  	}  	if (LLViewerCamera::sCurCameraID == LLViewerCamera::CAMERA_WORLD) | 
