From Andy Skinner, Added ~GLExtensions to clear cached values for context ID

This commit is contained in:
Robert Osfield 2018-10-02 11:28:34 +01:00
parent 8a29c504e4
commit 1ee6d476f8
2 changed files with 10 additions and 0 deletions

View File

@ -813,6 +813,9 @@ class OSG_EXPORT GLExtensions : public osg::Referenced
/** convenience wrapper around glObjectLabel that calls glObjectLabel if it's supported and using std::string as a label parameter.*/ /** convenience wrapper around glObjectLabel that calls glObjectLabel if it's supported and using std::string as a label parameter.*/
void debugObjectLabel(GLenum identifier, GLuint name, const std::string& label) const { if (glObjectLabel && !label.empty()) glObjectLabel(identifier, name, label.size(), label.c_str()); } void debugObjectLabel(GLenum identifier, GLuint name, const std::string& label) const { if (glObjectLabel && !label.empty()) glObjectLabel(identifier, name, label.size(), label.c_str()); }
protected:
virtual ~GLExtensions();
}; };

View File

@ -1284,6 +1284,13 @@ GLExtensions::GLExtensions(unsigned int in_contextID):
} }
GLExtensions::~GLExtensions()
{
// Remove s_gl*List
s_glExtensionSetList[contextID] = ExtensionSet();
s_glRendererList[contextID] = std::string();
s_glInitializedList[contextID] = 0;
}
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++-friendly convenience methods // C++-friendly convenience methods