Automated merge with ssh://hg.lindenlab.com/richard/viewer-interesting
commit
71ec63a70a
|
|
@ -143,6 +143,8 @@ public:
|
|||
case INITIALIZING:
|
||||
// go ahead and flag ourselves as initialized so we can be reentrant during initialization
|
||||
sData.mInitState = INITIALIZED;
|
||||
// initialize singleton after constructing it so that it can reference other singletons which in turn depend on it,
|
||||
// thus breaking cyclic dependencies
|
||||
sData.mInstance->initSingleton();
|
||||
return sData.mInstance;
|
||||
case INITIALIZED:
|
||||
|
|
@ -150,6 +152,7 @@ public:
|
|||
case DELETED:
|
||||
llwarns << "Trying to access deleted singleton " << typeid(DERIVED_TYPE).name() << " creating new instance" << llendl;
|
||||
SingletonLifetimeManager::construct();
|
||||
// same as first time construction
|
||||
sData.mInitState = INITIALIZED;
|
||||
sData.mInstance->initSingleton();
|
||||
return sData.mInstance;
|
||||
|
|
@ -190,6 +193,8 @@ private:
|
|||
|
||||
struct SingletonData
|
||||
{
|
||||
// explicitly has a default constructor so that member variables are zero initialized in BSS
|
||||
// and only changed by singleton logic, not constructor running during startup
|
||||
EInitState mInitState;
|
||||
DERIVED_TYPE* mInstance;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
LLTrace::CountStatHandle<> LLViewerCamera::sVelocityStat("camera_velocity");
|
||||
LLTrace::CountStatHandle<> LLViewerCamera::sAngularVelocityStat("camera_angular_velocity");
|
||||
|
||||
U32 LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
|
||||
LLViewerCamera::eCameraID LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
|
||||
|
||||
//glu pick matrix implementation borrowed from Mesa3D
|
||||
glh::matrix4f gl_pick_matrix(GLfloat x, GLfloat y, GLfloat width, GLfloat height, GLint* viewport)
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public:
|
|||
NUM_CAMERAS
|
||||
} eCameraID;
|
||||
|
||||
static U32 sCurCameraID;
|
||||
static eCameraID sCurCameraID;
|
||||
|
||||
LLViewerCamera();
|
||||
|
||||
|
|
|
|||
|
|
@ -2252,7 +2252,7 @@ BOOL LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3&
|
|||
min = LLVector3(X,X,X);
|
||||
max = LLVector3(-X,-X,-X);
|
||||
|
||||
U32 saved_camera_id = LLViewerCamera::sCurCameraID;
|
||||
LLViewerCamera::eCameraID saved_camera_id = LLViewerCamera::sCurCameraID;
|
||||
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
|
||||
|
||||
BOOL res = TRUE;
|
||||
|
|
@ -9437,7 +9437,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
|
|||
mShadowFrustPoints[j].clear();
|
||||
}
|
||||
|
||||
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_SHADOW0+j;
|
||||
LLViewerCamera::sCurCameraID = (LLViewerCamera::eCameraID)(LLViewerCamera::CAMERA_SHADOW0+j);
|
||||
|
||||
//restore render matrices
|
||||
glh_set_current_modelview(saved_view);
|
||||
|
|
@ -9821,7 +9821,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
|
|||
//update shadow targets
|
||||
for (U32 i = 0; i < 2; i++)
|
||||
{ //for each current shadow
|
||||
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_SHADOW4+i;
|
||||
LLViewerCamera::sCurCameraID = (LLViewerCamera::eCameraID)(LLViewerCamera::CAMERA_SHADOW4+i);
|
||||
|
||||
if (mShadowSpotLight[i].notNull() &&
|
||||
(mShadowSpotLight[i] == mTargetShadowSpotLight[0] ||
|
||||
|
|
@ -9940,7 +9940,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
|
|||
|
||||
static LLCullResult result[2];
|
||||
|
||||
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_SHADOW0+i+4;
|
||||
LLViewerCamera::sCurCameraID = (LLViewerCamera::eCameraID)(LLViewerCamera::CAMERA_SHADOW0 + i + 4);
|
||||
|
||||
renderShadow(view[i+4], proj[i+4], shadow_cam, result[i], FALSE, FALSE, target_width);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue