diff options
author | Roxie Linden <roxie@lindenlab.com> | 2010-12-23 01:48:44 -0800 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2010-12-23 01:48:44 -0800 |
commit | 57153cf0f1fffe669b9d8871c33f9c4aaba67a2f (patch) | |
tree | 42e58fd10165bcd4bb7e65f5fbab7a16b518ddc3 /indra/llrender/llgl.cpp | |
parent | 4351160958efa1c352e8af1ab3f48c1486ba9c5c (diff) |
SH-655 - Project mesh viewer crashes on exit.
A copy constructor was implemented which did a memcpy,
which included the vtable pointer which was to another object of another
class (same child though). This resulted in the wrong destructor
being called.
The reason for the memcpy was for alignment purposes.
The solution was to move to LLVector4a, which is intrinsicly aligned.
Also, did some performance optimizations based on the LLVector4a optimizations.
The solution was to re-implement the
Diffstat (limited to 'indra/llrender/llgl.cpp')
-rw-r--r-- | indra/llrender/llgl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index d802a3045d..04fe99ec1f 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -1831,7 +1831,7 @@ LLGLUserClipPlane::LLGLUserClipPlane(const LLPlane& p, const glh::matrix4f& mode mModelview = modelview; mProjection = projection; - setPlane(p.mV[0], p.mV[1], p.mV[2], p.mV[3]); + setPlane(p[0], p[1], p[2], p[3]); } void LLGLUserClipPlane::setPlane(F32 a, F32 b, F32 c, F32 d) |