canvas/source/vcl/canvashelper.cxx                   |    3 -
 canvas/source/vcl/spritehelper.cxx                   |    3 -
 cui/source/dialogs/cuigrfflt.cxx                     |   44 ++++++++++++-------
 include/vcl/BitmapFilter.hxx                         |    4 -
 sd/source/ui/dlg/vectdlg.cxx                         |    3 -
 svx/source/dialog/grfflt.cxx                         |   24 ++++++----
 vcl/qa/cppunit/BitmapTest.cxx                        |    3 -
 vcl/source/bitmap/BitmapInterpolateScaleFilter.cxx   |    3 -
 vcl/source/bitmap/BitmapSeparableUnsharpenFilter.cxx |    3 -
 vcl/source/bitmap/BitmapSmoothenFilter.cxx           |   10 +++-
 vcl/source/bitmap/bitmapfilter.cxx                   |    8 +--
 vcl/source/gdi/animate.cxx                           |    5 +-
 vcl/source/gdi/bitmap3.cxx                           |   42 ++++++++++++------
 vcl/source/gdi/bitmapex.cxx                          |    6 +-
 vcl/source/graphic/UnoGraphicTransformer.cxx         |    3 -
 vcl/source/image/Image.cxx                           |    6 +-
 vcl/source/image/ImplImageTree.cxx                   |    8 ++-
 vcl/source/outdev/bitmap.cxx                         |    3 -
 vcl/source/outdev/font.cxx                           |    2 
 vcl/unx/generic/dtrans/bmp.cxx                       |    6 +-
 vcl/workben/outdevgrind.cxx                          |    3 -
 vcl/workben/vcldemo.cxx                              |    3 -
 22 files changed, 132 insertions(+), 63 deletions(-)

New commits:
commit bce47223099bb3349d96af9d6b1fe88bcdd539df
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Thu Sep 6 14:33:24 2018 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Sep 6 17:16:34 2018 +0200

    clang-tidy bugprone-use-after-move in BitmapFilter::Filter
    
    which necesitated changing the API and hence the call sites
    
    Change-Id: Id417a235bf9b2bf1a3d152dc6600c0635486cafa
    Reviewed-on: https://gerrit.libreoffice.org/60086
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/canvas/source/vcl/canvashelper.cxx 
b/canvas/source/vcl/canvashelper.cxx
index cdbf15cd6b88..c89a216ce092 100644
--- a/canvas/source/vcl/canvashelper.cxx
+++ b/canvas/source/vcl/canvashelper.cxx
@@ -720,7 +720,8 @@ namespace vclcanvas
                     // transparency is fully transparent
                     if( aBmpEx.IsAlpha() )
                     {
-                        BitmapFilter::Filter(aBmpEx, 
BitmapAlphaClampFilter(253));
+                        BitmapAlphaClampFilter filter(253);
+                        BitmapFilter::Filter(aBmpEx, filter);
                     }
 
                     mp2ndOutDevProvider->getOutDev().DrawBitmapEx( 
vcl::unotools::pointFromB2DPoint( aOutputPos ),
diff --git a/canvas/source/vcl/spritehelper.cxx 
b/canvas/source/vcl/spritehelper.cxx
index 123a6b64b2e4..1a1bc30f585f 100644
--- a/canvas/source/vcl/spritehelper.cxx
+++ b/canvas/source/vcl/spritehelper.cxx
@@ -158,7 +158,8 @@ namespace vclcanvas
                         OSL_FAIL("CanvasCustomSprite::redraw(): Mask bitmap is 
not "
                                    "monochrome (performance!)");
                         BitmapEx aMaskEx(aMask);
-                        BitmapFilter::Filter(aMaskEx, 
BitmapMonochromeFilter(255));
+                        BitmapMonochromeFilter filter(255);
+                        BitmapFilter::Filter(aMaskEx, filter);
                         aMask = aMaskEx.GetBitmap();
                     }
 #endif
diff --git a/cui/source/dialogs/cuigrfflt.cxx b/cui/source/dialogs/cuigrfflt.cxx
index e9f84d1789ef..bf1b425e15f7 100644
--- a/cui/source/dialogs/cuigrfflt.cxx
+++ b/cui/source/dialogs/cuigrfflt.cxx
@@ -244,11 +244,14 @@ Graphic GraphicFilterMosaic::GetFilteredGraphic( const 
Graphic& rGraphic,
     if( rGraphic.IsAnimated() )
     {
         Animation aAnim( rGraphic.GetAnimation() );
-
-        if (BitmapFilter::Filter(aAnim, BitmapMosaicFilter(aSize.getWidth(), 
aSize.getHeight())))
+        BitmapMosaicFilter mosiacFilter(aSize.getWidth(), aSize.getHeight());
+        if (BitmapFilter::Filter(aAnim, mosiacFilter))
         {
             if( IsEnhanceEdges() )
-                (void)BitmapFilter::Filter(aAnim, BitmapSharpenFilter());
+            {
+                BitmapSharpenFilter sharpenFilter;
+                (void)BitmapFilter::Filter(aAnim, sharpenFilter);
+            }
 
             aRet = aAnim;
         }
@@ -257,10 +260,14 @@ Graphic GraphicFilterMosaic::GetFilteredGraphic( const 
Graphic& rGraphic,
     {
         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-        if (BitmapFilter::Filter(aBmpEx, BitmapMosaicFilter(aSize.getWidth(), 
aSize.getHeight())))
+        BitmapMosaicFilter mosiacFilter(aSize.getWidth(), aSize.getHeight());
+        if (BitmapFilter::Filter(aBmpEx, mosiacFilter))
         {
             if( IsEnhanceEdges() )
-                BitmapFilter::Filter(aBmpEx, BitmapSharpenFilter());
+            {
+                BitmapSharpenFilter sharpenFilter;
+                BitmapFilter::Filter(aBmpEx, sharpenFilter);
+            }
 
             aRet = aBmpEx;
         }
@@ -310,7 +317,8 @@ Graphic GraphicFilterSmooth::GetFilteredGraphic( const 
Graphic& rGraphic, double
     {
         Animation aAnim( rGraphic.GetAnimation() );
 
-        if (BitmapFilter::Filter(aAnim, BitmapSmoothenFilter(nRadius)))
+        BitmapSmoothenFilter filter(nRadius);
+        if (BitmapFilter::Filter(aAnim, filter))
         {
             aRet = aAnim;
         }
@@ -319,7 +327,8 @@ Graphic GraphicFilterSmooth::GetFilteredGraphic( const 
Graphic& rGraphic, double
     {
         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-        if (BitmapFilter::Filter(aBmpEx, BitmapSmoothenFilter(nRadius)))
+        BitmapSmoothenFilter filter(nRadius);
+        if (BitmapFilter::Filter(aBmpEx, filter))
         {
             aRet = aBmpEx;
         }
@@ -380,7 +389,8 @@ Graphic GraphicFilterSolarize::GetFilteredGraphic( const 
Graphic& rGraphic, doub
     {
         Animation aAnim( rGraphic.GetAnimation() );
 
-        if (BitmapFilter::Filter(aAnim, BitmapSolarizeFilter(nGreyThreshold)))
+        BitmapSolarizeFilter filter(nGreyThreshold);
+        if (BitmapFilter::Filter(aAnim, filter))
         {
             if( IsInvert() )
                 aAnim.Invert();
@@ -392,7 +402,8 @@ Graphic GraphicFilterSolarize::GetFilteredGraphic( const 
Graphic& rGraphic, doub
     {
         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-        if (BitmapFilter::Filter(aBmpEx, BitmapSolarizeFilter(nGreyThreshold)))
+        BitmapSolarizeFilter filter(nGreyThreshold);
+        if (BitmapFilter::Filter(aBmpEx, filter))
         {
             if( IsInvert() )
                 aBmpEx.Invert();
@@ -441,14 +452,16 @@ Graphic GraphicFilterSepia::GetFilteredGraphic( const 
Graphic& rGraphic, double,
     {
         Animation aAnim( rGraphic.GetAnimation() );
 
-        if (BitmapFilter::Filter(aAnim, BitmapSepiaFilter(nSepiaPct)))
+        BitmapSepiaFilter filter(nSepiaPct);
+        if (BitmapFilter::Filter(aAnim, filter))
             aRet = aAnim;
     }
     else
     {
         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-        if (BitmapFilter::Filter(aBmpEx, BitmapSepiaFilter(nSepiaPct)))
+        BitmapSepiaFilter filter(nSepiaPct);
+        if (BitmapFilter::Filter(aBmpEx, filter))
             aRet = aBmpEx;
     }
 
@@ -505,7 +518,8 @@ Graphic GraphicFilterPoster::GetFilteredGraphic( const 
Graphic& rGraphic, double
     {
         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-        if (BitmapFilter::Filter(aBmpEx, 
BitmapColorQuantizationFilter(nPosterCount)))
+        BitmapColorQuantizationFilter filter(nPosterCount);
+        if (BitmapFilter::Filter(aBmpEx, filter))
             aRet = aBmpEx;
     }
 
@@ -582,14 +596,16 @@ Graphic GraphicFilterEmboss::GetFilteredGraphic( const 
Graphic& rGraphic, double
     {
         Animation aAnim( rGraphic.GetAnimation() );
 
-        if (BitmapFilter::Filter(aAnim, BitmapEmbossGreyFilter(nAzim, nElev)))
+        BitmapEmbossGreyFilter filter(nAzim, nElev);
+        if (BitmapFilter::Filter(aAnim, filter))
             aRet = aAnim;
     }
     else
     {
         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-        if (BitmapFilter::Filter(aBmpEx, BitmapEmbossGreyFilter(nAzim, nElev)))
+        BitmapEmbossGreyFilter filter(nAzim, nElev);
+        if (BitmapFilter::Filter(aBmpEx, filter))
             aRet = aBmpEx;
     }
 
diff --git a/include/vcl/BitmapFilter.hxx b/include/vcl/BitmapFilter.hxx
index f1a7e0b6cfff..ee7ac96b8d1c 100644
--- a/include/vcl/BitmapFilter.hxx
+++ b/include/vcl/BitmapFilter.hxx
@@ -22,8 +22,8 @@ public:
 
     virtual BitmapEx execute(BitmapEx const& rBitmapEx) = 0;
 
-    static bool Filter(BitmapEx& rBmpEx, BitmapFilter&& rFilter);
-    static bool Filter(Animation& rBmpEx, BitmapFilter&& rFilter);
+    static bool Filter(BitmapEx& rBmpEx, BitmapFilter& rFilter);
+    static bool Filter(Animation& rBmpEx, BitmapFilter& rFilter);
 };
 
 #endif
diff --git a/sd/source/ui/dlg/vectdlg.cxx b/sd/source/ui/dlg/vectdlg.cxx
index 2bbc2810b203..4c95572d3d2b 100644
--- a/sd/source/ui/dlg/vectdlg.cxx
+++ b/sd/source/ui/dlg/vectdlg.cxx
@@ -119,7 +119,8 @@ Bitmap SdVectorizeDlg::GetPreparedBitmap( Bitmap const & 
rBmp, Fraction& rScale
         rScale = Fraction( 1, 1 );
 
     BitmapEx aNewBmpEx(aNew);
-    BitmapFilter::Filter(aNewBmpEx, 
BitmapSimpleColorQuantizationFilter(m_xNmLayers->get_value()));
+    BitmapSimpleColorQuantizationFilter filter(m_xNmLayers->get_value());
+    BitmapFilter::Filter(aNewBmpEx, filter);
     aNew = aNewBmpEx.GetBitmap();
 
     return aNew;
diff --git a/svx/source/dialog/grfflt.cxx b/svx/source/dialog/grfflt.cxx
index 6ec799628327..51ebc78fe894 100644
--- a/svx/source/dialog/grfflt.cxx
+++ b/svx/source/dialog/grfflt.cxx
@@ -90,14 +90,16 @@ SvxGraphicFilterResult 
SvxGraphicFilter::ExecuteGrfFilterSlot( SfxRequest const
                 {
                     Animation aAnimation( rGraphic.GetAnimation() );
 
-                    if (BitmapFilter::Filter(aAnimation, 
BitmapSharpenFilter()))
+                    BitmapSharpenFilter filter;
+                    if (BitmapFilter::Filter(aAnimation, filter))
                         aGraphic = aAnimation;
                 }
                 else
                 {
                     BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-                    if (BitmapFilter::Filter(aBmpEx, BitmapSharpenFilter()))
+                    BitmapSharpenFilter filter;
+                    if (BitmapFilter::Filter(aBmpEx, filter))
                         aGraphic = aBmpEx;
                 }
 
@@ -115,14 +117,16 @@ SvxGraphicFilterResult 
SvxGraphicFilter::ExecuteGrfFilterSlot( SfxRequest const
                 {
                     Animation aAnimation( rGraphic.GetAnimation() );
 
-                    if (BitmapFilter::Filter(aAnimation, BitmapMedianFilter()))
+                    BitmapMedianFilter filter;
+                    if (BitmapFilter::Filter(aAnimation, filter))
                         aGraphic = aAnimation;
                 }
                 else
                 {
                     BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-                    if (BitmapFilter::Filter(aBmpEx, BitmapMedianFilter()))
+                    BitmapMedianFilter filter;
+                    if (BitmapFilter::Filter(aBmpEx, filter))
                         aGraphic = aBmpEx;
                 }
 
@@ -140,14 +144,16 @@ SvxGraphicFilterResult 
SvxGraphicFilter::ExecuteGrfFilterSlot( SfxRequest const
                 {
                     Animation aAnimation( rGraphic.GetAnimation() );
 
-                    if (BitmapFilter::Filter(aAnimation, 
BitmapSobelGreyFilter()))
+                    BitmapSobelGreyFilter filter;
+                    if (BitmapFilter::Filter(aAnimation, filter))
                         aGraphic = aAnimation;
                 }
                 else
                 {
                     BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-                    if (BitmapFilter::Filter(aBmpEx, BitmapSobelGreyFilter()))
+                    BitmapSobelGreyFilter filter;
+                    if (BitmapFilter::Filter(aBmpEx, filter))
                         aGraphic = aBmpEx;
                 }
 
@@ -192,14 +198,16 @@ SvxGraphicFilterResult 
SvxGraphicFilter::ExecuteGrfFilterSlot( SfxRequest const
                 {
                     Animation aAnimation( rGraphic.GetAnimation() );
 
-                    if (BitmapFilter::Filter(aAnimation, BitmapPopArtFilter()))
+                    BitmapPopArtFilter filter;
+                    if (BitmapFilter::Filter(aAnimation, filter))
                         aGraphic = aAnimation;
                 }
                 else
                 {
                     BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
 
-                    if (BitmapFilter::Filter(aBmpEx, BitmapPopArtFilter()))
+                    BitmapPopArtFilter filter;
+                    if (BitmapFilter::Filter(aBmpEx, filter))
                         aGraphic = aBmpEx;
                 }
 
diff --git a/vcl/qa/cppunit/BitmapTest.cxx b/vcl/qa/cppunit/BitmapTest.cxx
index 706fb1f58690..8da2a58dd67d 100644
--- a/vcl/qa/cppunit/BitmapTest.cxx
+++ b/vcl/qa/cppunit/BitmapTest.cxx
@@ -213,7 +213,8 @@ void BitmapTest::testMonochrome()
     Bitmap aBmp = createTestBitmap();
 
     BitmapEx aBmpEx(aBmp);
-    BitmapFilter::Filter(aBmpEx, BitmapMonochromeFilter(63));
+    BitmapMonochromeFilter filter(63);
+    BitmapFilter::Filter(aBmpEx, filter);
     aBmp = aBmpEx.GetBitmap();
     BitmapReadAccess aBmpReadAccess(aBmp);
 
diff --git a/vcl/source/bitmap/BitmapInterpolateScaleFilter.cxx 
b/vcl/source/bitmap/BitmapInterpolateScaleFilter.cxx
index 43e4d2ff0f24..32266595b93e 100644
--- a/vcl/source/bitmap/BitmapInterpolateScaleFilter.cxx
+++ b/vcl/source/bitmap/BitmapInterpolateScaleFilter.cxx
@@ -223,7 +223,8 @@ BitmapEx BitmapInterpolateScaleFilter::execute(BitmapEx 
const& rBitmapEx)
     {
         // fallback to fast scale filter
         BitmapEx aBmpEx(aBitmap);
-        bRet = BitmapFilter::Filter(aBmpEx, BitmapFastScaleFilter(mfScaleX, 
mfScaleY));
+        BitmapFastScaleFilter filter(mfScaleX, mfScaleY);
+        bRet = BitmapFilter::Filter(aBmpEx, filter);
         aBitmap = aBmpEx.GetBitmap();
     }
 
diff --git a/vcl/source/bitmap/BitmapSeparableUnsharpenFilter.cxx 
b/vcl/source/bitmap/BitmapSeparableUnsharpenFilter.cxx
index f594a808cc14..4361cb864c87 100644
--- a/vcl/source/bitmap/BitmapSeparableUnsharpenFilter.cxx
+++ b/vcl/source/bitmap/BitmapSeparableUnsharpenFilter.cxx
@@ -28,7 +28,8 @@ BitmapEx BitmapSeparableUnsharpenFilter::execute(BitmapEx 
const& rBitmapEx)
     Bitmap aBlur(aBitmap);
     BitmapEx aBlurEx(aBlur);
 
-    BitmapFilter::Filter(aBlurEx, 
BitmapGaussianSeparableBlurFilter(-mfRadius));
+    BitmapGaussianSeparableBlurFilter filter(-mfRadius);
+    BitmapFilter::Filter(aBlurEx, filter);
     aBlur = aBlurEx.GetBitmap();
 
     // Amount of unsharpening effect on image - currently set to a fixed value
diff --git a/vcl/source/bitmap/BitmapSmoothenFilter.cxx 
b/vcl/source/bitmap/BitmapSmoothenFilter.cxx
index 17ab1bbff3f9..49ecfc97122e 100644
--- a/vcl/source/bitmap/BitmapSmoothenFilter.cxx
+++ b/vcl/source/bitmap/BitmapSmoothenFilter.cxx
@@ -23,9 +23,15 @@ BitmapEx BitmapSmoothenFilter::execute(BitmapEx const& 
rBitmapEx)
     bool bRet = false;
 
     if (mfRadius > 0.0) // Blur for positive values of mnRadius
-        bRet = BitmapFilter::Filter(aBitmapEx, 
BitmapGaussianSeparableBlurFilter(mfRadius));
+    {
+        BitmapGaussianSeparableBlurFilter filter(mfRadius);
+        bRet = BitmapFilter::Filter(aBitmapEx, filter);
+    }
     else if (mfRadius < 0.0) // Unsharpen mask for negative values of mnRadius
-        bRet = BitmapFilter::Filter(aBitmapEx, 
BitmapSeparableUnsharpenFilter(mfRadius));
+    {
+        BitmapSeparableUnsharpenFilter filter(mfRadius);
+        bRet = BitmapFilter::Filter(aBitmapEx, filter);
+    }
 
     if (bRet)
         return rBitmapEx;
diff --git a/vcl/source/bitmap/bitmapfilter.cxx 
b/vcl/source/bitmap/bitmapfilter.cxx
index 51aae7bd8a0d..1cfb6d4d4d36 100644
--- a/vcl/source/bitmap/bitmapfilter.cxx
+++ b/vcl/source/bitmap/bitmapfilter.cxx
@@ -18,7 +18,7 @@ BitmapFilter::BitmapFilter() {}
 
 BitmapFilter::~BitmapFilter() {}
 
-bool BitmapFilter::Filter(BitmapEx& rBmpEx, BitmapFilter&& rFilter)
+bool BitmapFilter::Filter(BitmapEx& rBmpEx, BitmapFilter& rFilter)
 {
     BitmapEx aTmpBmpEx(rFilter.execute(rBmpEx));
 
@@ -32,7 +32,7 @@ bool BitmapFilter::Filter(BitmapEx& rBmpEx, BitmapFilter&& 
rFilter)
     return true;
 }
 
-bool BitmapFilter::Filter(Animation& rAnimation, BitmapFilter&& rFilter)
+bool BitmapFilter::Filter(Animation& rAnimation, BitmapFilter& rFilter)
 {
     SAL_WARN_IF(rAnimation.IsInAnimation(), "vcl", "Animation modified while 
it is animated");
 
@@ -45,11 +45,11 @@ bool BitmapFilter::Filter(Animation& rAnimation, 
BitmapFilter&& rFilter)
         std::vector<std::unique_ptr<AnimationBitmap>>& aList = 
rAnimation.GetAnimationFrames();
         for (size_t i = 0, n = aList.size(); (i < n) && bRet; ++i)
         {
-            bRet = BitmapFilter::Filter(aList[i]->aBmpEx, std::move(rFilter));
+            bRet = BitmapFilter::Filter(aList[i]->aBmpEx, rFilter);
         }
 
         BitmapEx aBmpEx(rAnimation.GetBitmapEx());
-        BitmapFilter::Filter(aBmpEx, std::move(rFilter));
+        BitmapFilter::Filter(aBmpEx, rFilter);
         rAnimation.SetBitmapEx(aBmpEx);
     }
 
diff --git a/vcl/source/gdi/animate.cxx b/vcl/source/gdi/animate.cxx
index 22519fa5b810..7e801a9cb01f 100644
--- a/vcl/source/gdi/animate.cxx
+++ b/vcl/source/gdi/animate.cxx
@@ -525,12 +525,13 @@ bool Animation::ReduceColors( sal_uInt16 nNewColorCount )
     {
         bRet = true;
 
+        BitmapColorQuantizationFilter filter(nNewColorCount);
         for (size_t i = 0, n = maList.size(); (i < n) && bRet; ++i)
         {
-            bRet = BitmapFilter::Filter(maList[i]->aBmpEx, 
BitmapColorQuantizationFilter(nNewColorCount));
+            bRet = BitmapFilter::Filter(maList[i]->aBmpEx, filter);
         }
 
-        BitmapFilter::Filter(maBitmapEx, 
BitmapColorQuantizationFilter(nNewColorCount));
+        BitmapFilter::Filter(maBitmapEx, filter);
     }
     else
     {
diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index 2994bbc610aa..8a02e37bdffa 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -249,7 +249,8 @@ bool Bitmap::Convert( BmpConversion eConversion )
         case BmpConversion::N1BitThreshold:
         {
             BitmapEx aBmpEx(*this);
-            bRet = BitmapFilter::Filter(aBmpEx, BitmapMonochromeFilter(128));
+            BitmapMonochromeFilter filter(128);
+            bRet = BitmapFilter::Filter(aBmpEx, filter);
             *this = aBmpEx.GetBitmap();
         }
         break;
@@ -775,32 +776,49 @@ bool Bitmap::Scale( const double& rScaleX, const double& 
rScaleY, BmpScaleFlag n
     switch(nScaleFlag)
     {
         case BmpScaleFlag::Fast:
-            bRetval = BitmapFilter::Filter(aBmpEx, 
BitmapFastScaleFilter(rScaleX, rScaleY));
+        {
+            BitmapFastScaleFilter filter(rScaleX, rScaleY);
+            bRetval = BitmapFilter::Filter(aBmpEx, filter);
             break;
-
+        }
         case BmpScaleFlag::Interpolate:
-            bRetval = BitmapFilter::Filter(aBmpEx, 
BitmapInterpolateScaleFilter(rScaleX, rScaleY));
+        {
+            BitmapInterpolateScaleFilter filter(rScaleX, rScaleY);
+            bRetval = BitmapFilter::Filter(aBmpEx, filter);
             break;
-
+        }
         case BmpScaleFlag::Default:
             if (GetSizePixel().Width() < 2 || GetSizePixel().Height() < 2)
-                bRetval = BitmapFilter::Filter(aBmpEx, 
BitmapFastScaleFilter(rScaleX, rScaleY));
+            {
+                BitmapFastScaleFilter filter(rScaleX, rScaleY);
+                bRetval = BitmapFilter::Filter(aBmpEx, filter);
+            }
             else
-                bRetval = BitmapFilter::Filter(aBmpEx, 
BitmapScaleSuperFilter(rScaleX, rScaleY));
+            {
+                BitmapScaleSuperFilter filter(rScaleX, rScaleY);
+                bRetval = BitmapFilter::Filter(aBmpEx, filter);
+            }
             break;
 
         case BmpScaleFlag::Lanczos:
         case BmpScaleFlag::BestQuality:
-            bRetval = BitmapFilter::Filter(aBmpEx, 
vcl::BitmapScaleLanczos3Filter(rScaleX, rScaleY));
+        {
+            vcl::BitmapScaleLanczos3Filter filter(rScaleX, rScaleY);
+            bRetval = BitmapFilter::Filter(aBmpEx, filter);
             break;
-
+        }
         case BmpScaleFlag::BiCubic:
-            bRetval = BitmapFilter::Filter(aBmpEx, 
vcl::BitmapScaleBicubicFilter(rScaleX, rScaleY));
+        {
+            vcl::BitmapScaleBicubicFilter filter(rScaleX, rScaleY);
+            bRetval = BitmapFilter::Filter(aBmpEx, filter);
             break;
-
+        }
         case BmpScaleFlag::BiLinear:
-            bRetval = BitmapFilter::Filter(aBmpEx, 
vcl::BitmapScaleBilinearFilter(rScaleX, rScaleY));
+        {
+            vcl::BitmapScaleBilinearFilter filter(rScaleX, rScaleY);
+            bRetval = BitmapFilter::Filter(aBmpEx, filter);
             break;
+        }
     }
 
     if (bRetval)
diff --git a/vcl/source/gdi/bitmapex.cxx b/vcl/source/gdi/bitmapex.cxx
index ae7e5bcd858d..6edfeb231e33 100644
--- a/vcl/source/gdi/bitmapex.cxx
+++ b/vcl/source/gdi/bitmapex.cxx
@@ -128,7 +128,8 @@ BitmapEx::BitmapEx( const Bitmap& rBmp, const Bitmap& rMask 
) :
     {
         SAL_WARN( "vcl", "BitmapEx: forced mask to monochrome");
         BitmapEx aMaskEx(maMask);
-        BitmapFilter::Filter(aMaskEx, BitmapMonochromeFilter(255));
+        BitmapMonochromeFilter filter(255);
+        BitmapFilter::Filter(aMaskEx, filter);
         maMask = aMaskEx.GetBitmap();
     }
 
@@ -255,7 +256,8 @@ Bitmap BitmapEx::GetMask() const
         return maMask;
 
     BitmapEx aMaskEx(maMask);
-    BitmapFilter::Filter(aMaskEx, BitmapMonochromeFilter(255));
+    BitmapMonochromeFilter filter(255);
+    BitmapFilter::Filter(aMaskEx, filter);
     return aMaskEx.GetBitmap();
 }
 
diff --git a/vcl/source/graphic/UnoGraphicTransformer.cxx 
b/vcl/source/graphic/UnoGraphicTransformer.cxx
index 2fba69d01c93..b749014ffe44 100644
--- a/vcl/source/graphic/UnoGraphicTransformer.cxx
+++ b/vcl/source/graphic/UnoGraphicTransformer.cxx
@@ -122,7 +122,8 @@ uno::Reference< graphic::XGraphic > SAL_CALL 
GraphicTransformer::applyDuotone(
     Bitmap      aBitmap( aBitmapEx.GetBitmap() );
 
     BitmapEx    aTmpBmpEx(aBitmap);
-    BitmapFilter::Filter(aTmpBmpEx, 
BitmapDuoToneFilter(static_cast<sal_uLong>(nColorOne), 
static_cast<sal_uLong>(nColorTwo)));
+    BitmapDuoToneFilter filter(static_cast<sal_uLong>(nColorOne), 
static_cast<sal_uLong>(nColorTwo));
+    BitmapFilter::Filter(aTmpBmpEx, filter);
     aBitmap = aTmpBmpEx.GetBitmap();
 
     aReturnGraphic = ::Graphic( BitmapEx( aBitmap, aMask ) );
diff --git a/vcl/source/image/Image.cxx b/vcl/source/image/Image.cxx
index 049e3bef5d0d..0cb69d6affb8 100644
--- a/vcl/source/image/Image.cxx
+++ b/vcl/source/image/Image.cxx
@@ -138,7 +138,8 @@ void Image::Draw(OutputDevice* pOutDev, const Point& rPos, 
DrawImageFlags nStyle
         if (mpImplData->maBitmapChecksum != aChecksum)
         {
             BitmapEx aDisabledBmpEx(mpImplData->maBitmapEx);
-            BitmapFilter::Filter(aDisabledBmpEx, BitmapDisabledImageFilter());
+            BitmapDisabledImageFilter filter;
+            BitmapFilter::Filter(aDisabledBmpEx, filter);
 
             mpImplData->maBitmapChecksum = aChecksum;
             mpImplData->maDisabledBitmapEx = aDisabledBmpEx;
@@ -161,7 +162,8 @@ void Image::Draw(OutputDevice* pOutDev, const Point& rPos, 
DrawImageFlags nStyle
                 else
                     aColor = rSettings.GetDeactiveColor();
 
-                BitmapFilter::Filter(aTempBitmapEx, 
BitmapColorizeFilter(aColor));
+                BitmapColorizeFilter filter(aColor);
+                BitmapFilter::Filter(aTempBitmapEx, filter);
             }
 
             if (nStyle & DrawImageFlags::SemiTransparent)
diff --git a/vcl/source/image/ImplImageTree.cxx 
b/vcl/source/image/ImplImageTree.cxx
index fd1025dec240..1ee8d7b513e2 100644
--- a/vcl/source/image/ImplImageTree.cxx
+++ b/vcl/source/image/ImplImageTree.cxx
@@ -163,7 +163,10 @@ void loadImageFromStream(std::shared_ptr<SvStream> const & 
xStream, OUString con
         vcl::bitmap::loadFromSvg(*xStream.get(), rPath, rParameters.mrBitmap, 
aScalePercentage / 100.0);
 
         if (bConvertToDarkTheme)
-            BitmapFilter::Filter(rParameters.mrBitmap, BitmapLightenFilter());
+        {
+            BitmapLightenFilter filter;
+            BitmapFilter::Filter(rParameters.mrBitmap, filter);
+        }
 
         return;
     }
@@ -175,7 +178,8 @@ void loadImageFromStream(std::shared_ptr<SvStream> const & 
xStream, OUString con
     if (bConvertToDarkTheme)
     {
         rParameters.mbWriteImageToCache = true; // Cache the dark variant
-        BitmapFilter::Filter(rParameters.mrBitmap, BitmapLightenFilter());
+        BitmapLightenFilter filter;
+        BitmapFilter::Filter(rParameters.mrBitmap, filter);
     }
 
     if (aScalePercentage > 100)
diff --git a/vcl/source/outdev/bitmap.cxx b/vcl/source/outdev/bitmap.cxx
index ffc1299925d8..5b72fc700b99 100644
--- a/vcl/source/outdev/bitmap.cxx
+++ b/vcl/source/outdev/bitmap.cxx
@@ -330,7 +330,8 @@ void OutputDevice::DrawBitmapEx( const Point& rDestPt, 
const Size& rDestSize,
                     // output, having alpha-induced grey levels is not
                     // acceptable.
                     BitmapEx aMaskEx(aBmpEx.GetAlpha().GetBitmap());
-                    BitmapFilter::Filter(aMaskEx, BitmapMonochromeFilter(129));
+                    BitmapMonochromeFilter filter(129);
+                    BitmapFilter::Filter(aMaskEx, filter);
                     aBmpEx = BitmapEx(aColorBmp, aMaskEx.GetBitmap());
                 }
                 else
diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index 9904ecf304d4..2f4478892a82 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -1413,7 +1413,7 @@ std::unique_ptr<SalLayout> 
OutputDevice::ImplGlyphFallbackLayout( std::unique_pt
         pSalLayout = std::move(pMultiSalLayout);
 
     // restore orig font settings
-    pSalLayout->InitFont();
+    pSalLayout->InitFont(); // NOLINT{bugprone-use-after-move} false+
     rLayoutArgs.maRuns = aLayoutRuns;
 
     return pSalLayout;
diff --git a/vcl/unx/generic/dtrans/bmp.cxx b/vcl/unx/generic/dtrans/bmp.cxx
index 8b7f342bfbb6..27dbfe579ef2 100644
--- a/vcl/unx/generic/dtrans/bmp.cxx
+++ b/vcl/unx/generic/dtrans/bmp.cxx
@@ -758,7 +758,8 @@ css::uno::Sequence<sal_Int8> x11::convertBitmapDepth(
         case 4:
         {
             BitmapEx aBmpEx(bm);
-            BitmapFilter::Filter(aBmpEx, 
BitmapSimpleColorQuantizationFilter(1<<4));
+            BitmapSimpleColorQuantizationFilter filter(1<<4);
+            BitmapFilter::Filter(aBmpEx, filter);
             bm = aBmpEx.GetBitmap();
         }
         break;
@@ -766,7 +767,8 @@ css::uno::Sequence<sal_Int8> x11::convertBitmapDepth(
         case 8:
         {
             BitmapEx aBmpEx(bm);
-            BitmapFilter::Filter(aBmpEx, 
BitmapSimpleColorQuantizationFilter(1<<8));
+            BitmapSimpleColorQuantizationFilter filter(1<<8);
+            BitmapFilter::Filter(aBmpEx, filter);
             bm = aBmpEx.GetBitmap();
         }
         break;
diff --git a/vcl/workben/outdevgrind.cxx b/vcl/workben/outdevgrind.cxx
index 317762eaa861..af8e813178e6 100644
--- a/vcl/workben/outdevgrind.cxx
+++ b/vcl/workben/outdevgrind.cxx
@@ -131,7 +131,8 @@ void setupMethodStubs( functor_vector_type& res )
     Bitmap            aBitmapBW( aBitmap );
 
     BitmapEx aTmpBmpEx(aBitmapBW);
-    BitmapFilter::Filter(aTmpBmpEx, BitmapEmbossGreyFilter(0, 0));
+    BitmapEmbossGreyFilter filter(0, 0);
+    BitmapFilter::Filter(aTmpBmpEx, filter);
     aBitmapBW = aTmpBmpEx.GetBitmap();
 
     Bitmap      aBitmapAlien( Size( 100, 100 ), 8 );
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index 4a812d370eea..b540f188bf9c 100644
--- a/vcl/workben/vcldemo.cxx
+++ b/vcl/workben/vcldemo.cxx
@@ -148,7 +148,8 @@ public:
         maIntroBW = maIntro.GetBitmap();
 
         BitmapEx aTmpBmpEx(maIntroBW);
-        BitmapFilter::Filter(aTmpBmpEx, BitmapEmbossGreyFilter(0, 0));
+        BitmapEmbossGreyFilter filter(0, 0);
+        BitmapFilter::Filter(aTmpBmpEx, filter);
         maIntroBW = aTmpBmpEx.GetBitmap();
 
         InitRenderers();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to