diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-09-08 11:46:13 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-09-08 13:04:02 +0100 |
commit | 56900a441de1d4cc896ad1e36a44622ed1598fad (patch) | |
tree | ae176203c003dce23d188dbd198359da802d728f /avmedia/source/opengl/oglwindow.cxx | |
parent | 2456cf8306be22e32130e789ab939c059e5e79e5 (diff) |
tdf#94006 - fix OpenGLContext mis-use in several places.
gltf rendering, OpenGL canvas, GL transitions & GL capable (charts)
Avoid GLX operations on un-initialized contexts.
Change-Id: I7f523640f66ab656896181e5c865879234f6640e
Diffstat (limited to 'avmedia/source/opengl/oglwindow.cxx')
-rw-r--r-- | avmedia/source/opengl/oglwindow.cxx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx index 956ce967d0b1..fe637f882c46 100644 --- a/avmedia/source/opengl/oglwindow.cxx +++ b/avmedia/source/opengl/oglwindow.cxx @@ -15,9 +15,9 @@ using namespace libgltf; namespace avmedia { namespace ogl { -OGLWindow::OGLWindow( glTFHandle& rHandle, OpenGLContext& rContext, vcl::Window& rEventHandlerParent ) +OGLWindow::OGLWindow( glTFHandle& rHandle, const rtl::Reference<OpenGLContext> &rContext, vcl::Window& rEventHandlerParent ) : m_rHandle( rHandle ) - , m_rContext( rContext ) + , m_xContext( rContext ) , m_rEventHandler( rEventHandlerParent ) , m_bVisible ( false ) , m_aLastMousePos(Point(0,0)) @@ -32,7 +32,7 @@ OGLWindow::~OGLWindow() void SAL_CALL OGLWindow::update() throw (css::uno::RuntimeException, std::exception) { - m_rContext.makeCurrent(); + m_xContext->makeCurrent(); int nRet = gltf_prepare_renderer(&m_rHandle); if( nRet != 0 ) { @@ -41,7 +41,7 @@ void SAL_CALL OGLWindow::update() throw (css::uno::RuntimeException, std::except } gltf_renderer(&m_rHandle); gltf_complete_renderer(&m_rHandle); - m_rContext.swapBuffers(); + m_xContext->swapBuffers(); } sal_Bool SAL_CALL OGLWindow::setZoomLevel( css::media::ZoomLevel /*eZoomLevel*/ ) throw (css::uno::RuntimeException, std::exception) @@ -98,7 +98,7 @@ void SAL_CALL OGLWindow::setPosSize( sal_Int32 nX, sal_Int32 nY, sal_Int32 nWidt if( m_rHandle.viewport.x != nX || m_rHandle.viewport.x != nY || m_rHandle.viewport.width != nWidth || m_rHandle.viewport.height != nHeight ) { - m_rContext.setWinSize(Size(nWidth,nHeight)); + m_xContext->setWinSize(Size(nWidth,nHeight)); m_rHandle.viewport.x = nX; m_rHandle.viewport.y = nY; m_rHandle.viewport.width = nWidth; |