From a630310ba749ba572281de684502a72fcf92dfa4 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Thu, 30 Jul 2015 12:13:30 +0200 Subject: tdf#92765: Show the real icon instead of a black square with gtk vclplug. This partially brings back the behavior before 10a3db37377a68ec7529bbfbf876c852d58b7ae4. Change-Id: I5b372ab56105c05dda6ecb9aa1eed1c6a0c72ea8 Reviewed-on: https://gerrit.libreoffice.org/17420 Tested-by: Jenkins Reviewed-by: Eike Rathke Tested-by: Eike Rathke (cherry picked from commit 0e530f22bf43993ca5db7efec4b6dbc0673b2e12) Reviewed-on: https://gerrit.libreoffice.org/17449 Reviewed-by: Adolfo Jayme Barrientos Reviewed-by: David Ostrovsky Reviewed-by: Christian Lohmaier --- vcl/unx/gtk/window/gtksalframe.cxx | 13 +++++++++---- 1 file 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(); -- cgit v1.2.3