[Libreoffice-commits] core.git: Branch 'libreoffice-5-0-2' - vcl/opengl
Michael Meeks
michael.meeks at collabora.com
Wed Sep 16 09:27:27 PDT 2015
vcl/opengl/gdiimpl.cxx | 9 +++++++++
1 file changed, 9 insertions(+)
New commits:
commit 9617d1c6a299901b79618d657e31635e59eda007
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Wed Sep 16 03:25:05 2015 +0100
tdf#94252 - avoid switching contexts un-necessarily to reduce flicker.
Change-Id: Id4ac387174fa03c5886a990d89fd53a4f18db11c
Reviewed-on: https://gerrit.libreoffice.org/18610
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/18629
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
Reviewed-by: Jan Holesovsky <kendy at collabora.com>
diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx
index 37b21f3..9ea8a7c 100644
--- a/vcl/opengl/gdiimpl.cxx
+++ b/vcl/opengl/gdiimpl.cxx
@@ -77,8 +77,17 @@ bool OpenGLSalGraphicsImpl::AcquireContext( )
{
ImplSVData* pSVData = ImplGetSVData();
+ // We always prefer to bind our VirtualDevice / offscreen graphics
+ // to the current OpenGLContext - to avoid switching contexts.
+ if (mpContext.is() && mbOffscreen)
+ {
+ if (OpenGLContext::hasCurrent() && !mpContext->isCurrent())
+ mpContext.clear();
+ }
+
if( mpContext.is() )
{
+ // Check whether the context was reset underneath us.
if( mpContext->isInitialized() )
return true;
mpContext.clear();
More information about the Libreoffice-commits
mailing list