From f7caa55ee1dfa283b74d8ad35d513d949c44e7a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20V=C3=B6gele?= Date: Tue, 13 Sep 2016 18:46:26 +0200 Subject: [PATCH] Defer instantiation of TextureCache until OpenGL is initialized If TextureCache is instantiated before OpenGL is initialized and something goes wrong during OpenGL initialization the destructor of TextureCache calls an OpenGL function which will cause the application to crash. --- src/drawing/engines/opengl/OpenGLDrawingEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drawing/engines/opengl/OpenGLDrawingEngine.cpp b/src/drawing/engines/opengl/OpenGLDrawingEngine.cpp index d05c269e4f..fd50fdd189 100644 --- a/src/drawing/engines/opengl/OpenGLDrawingEngine.cpp +++ b/src/drawing/engines/opengl/OpenGLDrawingEngine.cpp @@ -503,7 +503,6 @@ IDrawingEngine * DrawingEngineFactory::CreateOpenGL() OpenGLDrawingContext::OpenGLDrawingContext(OpenGLDrawingEngine * engine) { _engine = engine; - _textureCache = new TextureCache(); } OpenGLDrawingContext::~OpenGLDrawingContext() @@ -522,6 +521,7 @@ IDrawingEngine * OpenGLDrawingContext::GetEngine() void OpenGLDrawingContext::Initialise() { + _textureCache = new TextureCache(); _drawImageShader = new DrawImageShader(); _drawLineShader = new DrawLineShader(); _fillRectShader = new FillRectShader();