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/llmath | |
parent | 7161619d6c0ee790c5741d0df028e428052e5fcc (diff) |
MAINT-7974 Fixed LLProfile crash(error) caused by thread unsafe variable
Diffstat (limited to 'indra/llmath')
-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); |