diff options
| author | andreykproductengine <andreykproductengine@lindenlab.com> | 2017-11-03 20:30:47 +0200 | 
|---|---|---|
| committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2017-11-03 20:30:47 +0200 | 
| commit | fec6bbddc371b2d1e0aa41d39a1b3dfaa8fb2016 (patch) | |
| tree | 36a09f6c6c243d5e6ae8d2b9fa962eb3cd802ffb /indra | |
| parent | 7161619d6c0ee790c5741d0df028e428052e5fcc (diff) | |
MAINT-7974 Fixed LLProfile crash(error) caused by thread unsafe variable
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llmath/llvolume.cpp | 7 | ||||
| -rw-r--r-- | indra/llmath/llvolume.h | 6 | 
2 files changed, 4 insertions, 9 deletions
| diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index b0ac3c9436..5068c9c685 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -2032,13 +2032,8 @@ void LLPathParams::copyParams(const LLPathParams ¶ms)  	setSkew(params.getSkew());  } -S32 profile_delete_lock = 1 ;   LLProfile::~LLProfile()  { -	if(profile_delete_lock) -	{ -		LL_ERRS() << "LLProfile should not be deleted here!" << LL_ENDL ; -	}  } @@ -2103,9 +2098,7 @@ LLVolume::~LLVolume()  	sNumMeshPoints -= mMesh.size();  	delete mPathp; -	profile_delete_lock = 0 ;  	delete mProfilep; -	profile_delete_lock = 1 ;  	mPathp = NULL;  	mProfilep = NULL; diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h index d66004cdad..ec707a1b22 100644 --- a/indra/llmath/llvolume.h +++ b/indra/llmath/llvolume.h @@ -679,6 +679,8 @@ protected:  class LLProfile  { +	friend class LLVolume; +  public:  	LLProfile()  		: mOpen(FALSE), @@ -689,8 +691,6 @@ public:  	{  	} -	~LLProfile(); -  	S32	 getTotal() const								{ return mTotal; }  	S32	 getTotalOut() const							{ return mTotalOut; }	// Total number of outside points  	BOOL isFlat(S32 face) const							{ return (mFaces[face].mCount == 2); } @@ -723,6 +723,8 @@ public:  	friend std::ostream& operator<<(std::ostream &s, const LLProfile &profile);  protected: +	~LLProfile(); +  	static S32 getNumNGonPoints(const LLProfileParams& params, S32 sides, F32 offset=0.0f, F32 bevel = 0.0f, F32 ang_scale = 1.f, S32 split = 0);  	void genNGon(const LLProfileParams& params, S32 sides, F32 offset=0.0f, F32 bevel = 0.0f, F32 ang_scale = 1.f, S32 split = 0); | 
