summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/opengl/salbmp.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/vcl/opengl/salbmp.cxx b/vcl/opengl/salbmp.cxx
index 405428e7425c..6b6f7bc09ed2 100644
--- a/vcl/opengl/salbmp.cxx
+++ b/vcl/opengl/salbmp.cxx
@@ -368,7 +368,7 @@ GLuint OpenGLSalBitmap::CreateTexture()
else
{
// convert to 32 bits RGBA using palette
- pData = new sal_uInt8[ mnBufHeight * (mnBufWidth << 2) ];
+ pData = new sal_uInt8[mnBufHeight * mnBufWidth * 4];
bAllocated = true;
nFormat = GL_RGBA;
nType = GL_UNSIGNED_BYTE;
@@ -424,13 +424,16 @@ bool OpenGLSalBitmap::ReadTexture()
if( pData == NULL )
return false;
- if( mnBits == 16 || mnBits == 24 || mnBits == 32 )
+ if (mnBits == 8 || mnBits == 16 || mnBits == 24 || mnBits == 32)
{
// no conversion needed for truecolor
pData = maUserBuffer.get();
switch( mnBits )
{
+ case 8: nFormat = GL_LUMINANCE;
+ nType = GL_UNSIGNED_BYTE;
+ break;
case 16: nFormat = GL_RGB;
nType = GL_UNSIGNED_SHORT_5_6_5;
break;