diff options
author | brad kittenbrink <brad@lindenlab.com> | 2011-04-26 15:04:22 -0700 |
---|---|---|
committer | brad kittenbrink <brad@lindenlab.com> | 2011-04-26 15:04:22 -0700 |
commit | d4b9db012e2b5195759f694792c392770112b42d (patch) | |
tree | fe89eda1b4985ee17b0eb16379dc07dbdc86f83a /indra/llrender/llgl.h | |
parent | 4bc90f24b3ced350ed44ca782f876af19af83c41 (diff) |
FIX VWR-25609: crash on shutdown in LLGLNamePool::sInstances destructor
Diffstat (limited to 'indra/llrender/llgl.h')
-rw-r--r-- | indra/llrender/llgl.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index 684fd50883..51b0a1e45f 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -40,6 +40,7 @@ #include "v4math.h" #include "llplane.h" #include "llgltypes.h" +#include "llinstancetracker.h" #include "llglheaders.h" #include "glh/glh_linear.h" @@ -328,9 +329,11 @@ public: Generic pooling scheme for things which use GL names (used for occlusion queries and vertex buffer objects). Prevents thrashing of GL name caches by avoiding calls to glGenFoo and glDeleteFoo. */ -class LLGLNamePool +class LLGLNamePool : public LLInstanceTracker<LLGLNamePool> { public: + typedef LLInstanceTracker<LLGLNamePool> tracker_t; + struct NameEntry { GLuint name; @@ -357,13 +360,11 @@ public: GLuint allocate(); void release(GLuint name); - static void registerPool(LLGLNamePool* pool); static void upkeepPools(); static void cleanupPools(); protected: typedef std::vector<LLGLNamePool*> pool_list_t; - static pool_list_t sInstances; virtual GLuint allocateName() = 0; virtual void releaseName(GLuint name) = 0; |