vcl/unx/gtk/window/gtksalframe.cxx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)
New commits: commit 10a3db37377a68ec7529bbfbf876c852d58b7ae4 Author: Caolán McNamara <caol...@redhat.com> Date: Tue Jul 7 12:36:38 2015 +0100 gtk3: handle 32bit icons, silences ugly warnings as bonus Change-Id: I015c89740631dfcbe62cab62f75b4a44d2b3b35a diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx index 3efc911..9a33d77 100644 --- a/vcl/unx/gtk/window/gtksalframe.cxx +++ b/vcl/unx/gtk/window/gtksalframe.cxx @@ -1630,7 +1630,7 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha ) BitmapBuffer *pBitmap = pSalBitmap->AcquireBuffer( BITMAP_READ_ACCESS ); g_return_val_if_fail( pBitmap != NULL, NULL ); - g_return_val_if_fail( pBitmap->mnBitCount == 24, NULL ); + g_return_val_if_fail( pBitmap->mnBitCount == 24 || pBitmap->mnBitCount == 32, NULL ); BitmapBuffer *pAlpha = pSalAlpha->AcquireBuffer( BITMAP_READ_ACCESS ); g_return_val_if_fail( pAlpha != NULL, NULL ); @@ -1650,19 +1650,20 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha ) for( nX = 0; nX < pBitmap->mnWidth; nX++ ) { - if( pBitmap->mnFormat == BMP_FORMAT_24BIT_TC_BGR ) + BitmapColor aColor; + if (pBitmap->mnBitCount == 24) { - pDestData[2] = *pData++; - pDestData[1] = *pData++; - pDestData[0] = *pData++; + pBitmap->maColorMask.GetColorFor24Bit(aColor, pData); + pData+=3; } - else // BMP_FORMAT_24BIT_TC_RGB + else { - pDestData[0] = *pData++; - pDestData[1] = *pData++; - pDestData[2] = *pData++; + pBitmap->maColorMask.GetColorFor32Bit(aColor, pData); + pData+=4; } - pDestData += 3; + *pDestData++ = aColor.GetRed(); + *pDestData++ = aColor.GetGreen(); + *pDestData++ = aColor.GetBlue(); *pDestData++ = 255 - *pAlphaData++; } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits