diff options
author | Markus Mohrhard <markus.mohrhard@collabora.co.uk> | 2014-12-30 19:16:35 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@collabora.co.uk> | 2014-12-31 01:04:30 +0100 |
commit | e61fe35e7997082a4478dabde5123ecc63536538 (patch) | |
tree | bbe0b82f5477c35e43a7b4b91e77330f7bc0f2a8 /vcl | |
parent | c805a996c97097d2a47039355fffba678a84e1b0 (diff) |
prefer ptr_container to manual memory management
Change-Id: I11326c2873aad5116fd70bfa31eb94e93fef3f40
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/opengl/OpenGLContext.cxx | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx index 182a2e95be19..138a79ed0e2c 100644 --- a/vcl/source/opengl/OpenGLContext.cxx +++ b/vcl/source/opengl/OpenGLContext.cxx @@ -1161,15 +1161,8 @@ void OpenGLContext::reset() // destroy all programs if( !maPrograms.empty() ) { - boost::unordered_map<ProgramKey, OpenGLProgram*>::iterator it; makeCurrent(); - it = maPrograms.begin(); - while( it != maPrograms.end() ) - { - delete it->second; - ++it; - } maPrograms.clear(); } @@ -1527,10 +1520,10 @@ void OpenGLContext::ReleaseFramebuffers() OpenGLProgram* OpenGLContext::GetProgram( const OUString& rVertexShader, const OUString& rFragmentShader ) { - boost::unordered_map<ProgramKey, OpenGLProgram*>::iterator it; ProgramKey aKey( rVertexShader, rFragmentShader ); - it = maPrograms.find( aKey ); + boost::ptr_map<ProgramKey, OpenGLProgram>::iterator + it = maPrograms.find( aKey ); if( it != maPrograms.end() ) return it->second; @@ -1541,7 +1534,7 @@ OpenGLProgram* OpenGLContext::GetProgram( const OUString& rVertexShader, const O return NULL; } - maPrograms[aKey] = pProgram; + maPrograms.insert(aKey, pProgram); return pProgram; } |