diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2016-02-11 17:17:28 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2016-02-11 17:21:18 +0000 |
commit | 8973bc02fd9b7f72db9c942e0fbd3a8b156cb53b (patch) | |
tree | aaf8b3acbb992b6c1260e57a546b938d6d492e8b /slideshow | |
parent | b6a62f07557fe4ae0931e0f3e0f306d2f69b116b (diff) |
tdf#97197 - GL transitions should use their context not VCL's.
Change-Id: Ifab7da221e73e068ebe0856a4224ec4ca4d611b5
Diffstat (limited to 'slideshow')
-rw-r--r-- | slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx b/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx index 6aa726b8d0c1..393675bd5dd9 100644 --- a/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx +++ b/slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx @@ -374,7 +374,9 @@ bool OGLTransitionerImpl::initWindowFromSlideShowView( const Reference< presenta } SAL_INFO("slideshow", "created the context"); + mpContext->makeCurrent(); CHECK_GL_ERROR(); + awt::Rectangle aCanvasArea = mxView->getCanvasArea(); mpContext->setWinPosAndSize(Point(aCanvasArea.X, aCanvasArea.Y), Size(aCanvasArea.Width, aCanvasArea.Height)); SAL_INFO("slideshow.opengl", "canvas area: " << aCanvasArea.X << "," << aCanvasArea.Y << " - " << aCanvasArea.Width << "x" << aCanvasArea.Height); @@ -551,6 +553,9 @@ bool OGLTransitionerImpl::setTransition( std::shared_ptr<OGLTransitionImpl> pTra mpTransition = pTransition; + mpContext->makeCurrent(); + CHECK_GL_ERROR(); + bool succeeded = impl_prepareTransition(); if (!succeeded) { mpTransition = nullptr; @@ -1288,6 +1293,9 @@ void OGLTransitionerImpl::disposeTextures() void OGLTransitionerImpl::impl_dispose() { + mpContext->makeCurrent(); + CHECK_GL_ERROR(); + impl_finishTransition(); disposeTextures(); if( mpContext.is() ) |