drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 80fdbbfe0b985aa91180eaaa554e4369c993b59b
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sat Jul 9 10:58:11 2022 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Fri Jul 15 20:19:10 2022 +0200

    tdf#149890 SVG: pattern is displayed with black fill
    
    regression from
        commit 3cbe3a0259bea4dec70e72191ec3c03441926a07
        Author: Noel Grandin <noel.gran...@collabora.co.uk>
        Date:   Mon Jun 14 15:05:59 2021 +0200
        tdf#101083 speed up SVG rendering with pattern fill
    
    Change-Id: Ifabe5dd0de92c3b27033c49af5713bc5825d10c7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136912
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    (cherry picked from commit 77ead3d8c01b3663b0ff701a934f10b602252412)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136926
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit 4d1ddc52f359d68bd2b677b12d7eba7b08086fd2)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136928
    Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 53e75ac37d55..722cd6362807 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -1268,7 +1268,9 @@ void VclPixelProcessor2D::processPatternFillPrimitive2D(
     {
         mpOutputDevice->Push(vcl::PushFlags::CLIPREGION);
         mpOutputDevice->IntersectClipRegion(vcl::Region(aMask));
-        mpOutputDevice->DrawWallpaper(aMaskRect, Wallpaper(aTileImage));
+        Wallpaper aWallpaper(aTileImage);
+        aWallpaper.SetColor(COL_TRANSPARENT);
+        mpOutputDevice->DrawWallpaper(aMaskRect, aWallpaper);
         mpOutputDevice->Pop();
         return;
     }
@@ -1291,7 +1293,11 @@ void VclPixelProcessor2D::processPatternFillPrimitive2D(
         mpOutputDevice->DrawRect(aMaskRect);
     }
     else
-        mpOutputDevice->DrawWallpaper(aMaskRect, Wallpaper(aTileImage));
+    {
+        Wallpaper aWallpaper(aTileImage);
+        aWallpaper.SetColor(COL_TRANSPARENT);
+        mpOutputDevice->DrawWallpaper(aMaskRect, aWallpaper);
+    }
 
     // back to old OutDev
     mpOutputDevice = pLastOutputDevice;

Reply via email to