[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - vcl/source

Tomaž Vajngerl tomaz.vajngerl at collabora.co.uk
Wed Jul 8 08:37:27 PDT 2015


 vcl/source/opengl/OpenGLHelper.cxx |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 5de8f1559afafe4a5430142c305549223d467606
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date:   Fri Jul 3 14:38:24 2015 +0900

    tdf#88831 fix inverted textures when OpenGL is enabled
    
    GLX returns a wrong value if the y coords are inverted. Most other
    programs don't even ask for this (gnome-shell for example) and just
    assumes "true" (and this works because most relevant X servers work
    like this). We make this more robust and assume true only if the
    returned value is GLX_DONT_CARE (-1).
    
    Change-Id: I4800b3364fd00f5f4a8f5a459472bfa8d97827ba
    Reviewed-on: https://gerrit.libreoffice.org/16860
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx
index 3acb0c6..41881da 100644
--- a/vcl/source/opengl/OpenGLHelper.cxx
+++ b/vcl/source/opengl/OpenGLHelper.cxx
@@ -539,7 +539,11 @@ GLXFBConfig OpenGLHelper::GetPixmapFBConfig( Display* pDisplay, bool& bInverted
         }
 
         glXGetFBConfigAttrib( pDisplay, aFbConfigs[i], GLX_Y_INVERTED_EXT, &nValue );
-        bInverted = nValue == True;
+
+        // Looks like that X sends GLX_DONT_CARE but this usually means "true" for most
+        // of the X implementations. Investigation on internet pointed that this could be
+        // safely "true" all the time (for example gnome-shell always assumes "true").
+        bInverted = nValue == True || nValue == int(GLX_DONT_CARE);
 
         break;
     }


More information about the Libreoffice-commits mailing list