diff options
-rw-r--r-- | vcl/opengl/salbmp.cxx | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/vcl/opengl/salbmp.cxx b/vcl/opengl/salbmp.cxx index 6dfb4bdf6be4..78bcf07b1594 100644 --- a/vcl/opengl/salbmp.cxx +++ b/vcl/opengl/salbmp.cxx @@ -472,14 +472,17 @@ sal_uInt16 OpenGLSalBitmap::GetBitCount() const bool OpenGLSalBitmap::makeCurrent() { - OpenGLContextProvider *pProvider; - pProvider = dynamic_cast< OpenGLContextProvider* >( ImplGetDefaultWindow()->GetGraphics() ); - if( pProvider == NULL ) + if (!mpContext || !mpContext->isInitialized()) { - SAL_WARN( "vcl.opengl", "Couldn't get default OpenGL context provider" ); - return false; + OpenGLContextProvider *pProvider; + pProvider = dynamic_cast< OpenGLContextProvider* >( ImplGetDefaultWindow()->GetGraphics() ); + if( pProvider == NULL ) + { + SAL_WARN( "vcl.opengl", "Couldn't get default OpenGL context provider" ); + return false; + } + mpContext = pProvider->GetOpenGLContext(); } - mpContext = pProvider->GetOpenGLContext(); mpContext->makeCurrent(); return true; } |