tdf#116365 vcl opengl: respect max texture size when creating textures
I can't reproduce the crash, but the image in the bugdoc is a large one
(23100 x 1364 pixels) and it was black for me. It's rendered correctly
now.
Change-Id: I72c395af12ef88cf1352602492b84e1dcd04ed14
Reviewed-on: https://gerrit.libreoffice.org/53555
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
diff --git a/vcl/opengl/salbmp.cxx b/vcl/opengl/salbmp.cxx
index 69c6c54..caade8c 100644
--- a/vcl/opengl/salbmp.cxx
+++ b/vcl/opengl/salbmp.cxx
@@ -171,6 +171,15 @@ bool OpenGLSalBitmap::Create( const Size& rSize, sal_uInt16 nBits, const BitmapP
mnBits = nBits;
mnWidth = rSize.Width();
mnHeight = rSize.Height();
// Limit size to what GL allows, so later glTexImage2D() won't fail.
GLint nMaxTextureSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &nMaxTextureSize);
if (mnWidth > nMaxTextureSize)
mnWidth = nMaxTextureSize;
if (mnHeight > nMaxTextureSize)
mnHeight = nMaxTextureSize;
return false;
}