summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/gtk/window/gtksalframe.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
index f193e98179b0..8f8ca48fb9ed 100644
--- a/vcl/unx/gtk/window/gtksalframe.cxx
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
@@ -1652,15 +1652,20 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha )
for( nX = 0; nX < pBitmap->mnWidth; nX++ )
{
BitmapColor aColor;
- if (pBitmap->mnBitCount == 24)
+ if (pBitmap->mnFormat == BMP_FORMAT_24BIT_TC_BGR)
{
- pBitmap->maColorMask.GetColorFor24Bit(aColor, pData);
- pData+=3;
+ aColor = BitmapColor(pData[2], pData[1], pData[0]);
+ pData += 3;
+ }
+ else if (pBitmap->mnFormat == BMP_FORMAT_24BIT_TC_RGB)
+ {
+ aColor = BitmapColor(pData[0], pData[1], pData[2]);
+ pData += 3;
}
else
{
pBitmap->maColorMask.GetColorFor32Bit(aColor, pData);
- pData+=4;
+ pData += 4;
}
*pDestData++ = aColor.GetRed();
*pDestData++ = aColor.GetGreen();