vcl/inc/bitmap/BitmapFastScaleFilter.hxx    |    1 -
 vcl/source/bitmap/BitmapFastScaleFilter.cxx |    2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

New commits:
commit c32e874a4f13acb87966731dbc5554fc95fa8e2b
Author:     Chris Sherlock <chris.sherloc...@gmail.com>
AuthorDate: Sun Sep 22 17:26:58 2024 +1000
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Mon Sep 23 11:57:13 2024 +0200

    vcl: mask scale regression in BitmapFastScaleFilter
    
    Masks are not scaled in the fast scaling filter. The issue occured when
    migrating to the BitmapFastScaleFilter class - maSize was never set.
    The size is now calculated in execute() locally.
    
    Regression from:
    
    commit  d246aa574571409046619254292698184c2545a3
    date    Sun Apr 15 10:14:10 2018 +1000
    author  Chris Sherlock <chris.sherloc...@gmail.com>
    
    vcl: move Bitmap::ImplScaleFast() and Bitmap::ImplScaleInterpolate()
    
    Change-Id: I9cc36f609059ae2db9c4cdb169bd5110382cfb21
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173766
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/vcl/inc/bitmap/BitmapFastScaleFilter.hxx 
b/vcl/inc/bitmap/BitmapFastScaleFilter.hxx
index bea516c9e01a..ab2c14e67180 100644
--- a/vcl/inc/bitmap/BitmapFastScaleFilter.hxx
+++ b/vcl/inc/bitmap/BitmapFastScaleFilter.hxx
@@ -28,7 +28,6 @@ public:
 private:
     double mfScaleX;
     double mfScaleY;
-    Size maSize;
 };
 
 #endif
diff --git a/vcl/source/bitmap/BitmapFastScaleFilter.cxx 
b/vcl/source/bitmap/BitmapFastScaleFilter.cxx
index 584942457f74..456c3d7bcc8a 100644
--- a/vcl/source/bitmap/BitmapFastScaleFilter.cxx
+++ b/vcl/source/bitmap/BitmapFastScaleFilter.cxx
@@ -115,7 +115,7 @@ BitmapEx BitmapFastScaleFilter::execute(BitmapEx const& 
rBitmapEx) const
     AlphaMask aMask(rBitmapEx.GetAlphaMask());
 
     if (bRet && !aMask.IsEmpty())
-        bRet = aMask.Scale(maSize, BmpScaleFlag::Fast);
+        bRet = aMask.Scale(Size(nNewWidth, nNewHeight), BmpScaleFlag::Fast);
 
     SAL_WARN_IF(!aMask.IsEmpty() && aBitmap.GetSizePixel() != 
aMask.GetSizePixel(), "vcl",
                 "BitmapEx::Scale(): size mismatch for bitmap and alpha mask.");

Reply via email to