[Libreoffice-commits] core.git: slideshow/source vcl/headless

Caolán McNamara caolanm at redhat.com
Mon Sep 4 19:52:59 UTC 2017


 slideshow/source/engine/shapes/gdimtftools.cxx |    2 +-
 vcl/headless/svpgdi.cxx                        |    9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

New commits:
commit 67951d08ddd20ac87fc7eb54a90cb81901a89f8c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Sep 4 17:12:02 2017 +0100

    Resolves: tdf#111073 incorrect gif background color
    
    a) set correct palette entries for the 1bit bitmap returned
    b) only use a BITMASK for the mask (like its AnimatedGraphicPrimitive2D
    brother in drawinglayer does)
    
    Change-Id: I704997de554dc4d0e523458d45ab329815b5046a
    Reviewed-on: https://gerrit.libreoffice.org/41905
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/slideshow/source/engine/shapes/gdimtftools.cxx b/slideshow/source/engine/shapes/gdimtftools.cxx
index 3d7e643dfb7b..fb12c9853392 100644
--- a/slideshow/source/engine/shapes/gdimtftools.cxx
+++ b/slideshow/source/engine/shapes/gdimtftools.cxx
@@ -285,7 +285,7 @@ bool getAnimationFromGraphic( VectorOfMtfAnimationFrames&   o_rFrames,
     pVDev->EnableMapMode( false );
 
     // setup mask VDev (alpha VDev is currently rather slow)
-    ScopedVclPtrInstance< VirtualDevice > pVDevMask;
+    ScopedVclPtrInstance<VirtualDevice> pVDevMask(DeviceFormat::BITMASK);
     pVDevMask->SetOutputSizePixel( aAnimSize );
     pVDevMask->EnableMapMode( false );
 
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 170d6c6087e6..5b8c0a8a66e0 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1145,7 +1145,14 @@ void SvpSalGraphics::drawMask( const SalTwoRect& rTR,
 SalBitmap* SvpSalGraphics::getBitmap( long nX, long nY, long nWidth, long nHeight )
 {
     SvpSalBitmap* pBitmap = new SvpSalBitmap();
-    pBitmap->Create(Size(nWidth, nHeight), GetBitCount(), BitmapPalette());
+    BitmapPalette aPal;
+    if (GetBitCount() == 1)
+    {
+        aPal.SetEntryCount(2);
+        aPal[0] = Color(COL_BLACK);
+        aPal[1] = Color(COL_WHITE);
+    }
+    pBitmap->Create(Size(nWidth, nHeight), GetBitCount(), aPal);
 
     cairo_surface_t* target = SvpSalGraphics::createCairoSurface(pBitmap->GetBuffer());
     cairo_t* cr = cairo_create(target);


More information about the Libreoffice-commits mailing list