diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-06 14:33:24 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-06 17:16:34 +0200 |
commit | bce47223099bb3349d96af9d6b1fe88bcdd539df (patch) | |
tree | 21e71197cf83f80657914bb529c459208a01547a /vcl/source | |
parent | f4d4b100ffd18993d4eab1bcd52fe12b7f8f3e32 (diff) |
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.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/bitmap/BitmapInterpolateScaleFilter.cxx | 3 | ||||
-rw-r--r-- | vcl/source/bitmap/BitmapSeparableUnsharpenFilter.cxx | 3 | ||||
-rw-r--r-- | vcl/source/bitmap/BitmapSmoothenFilter.cxx | 10 | ||||
-rw-r--r-- | vcl/source/bitmap/bitmapfilter.cxx | 8 | ||||
-rw-r--r-- | vcl/source/gdi/animate.cxx | 5 | ||||
-rw-r--r-- | vcl/source/gdi/bitmap3.cxx | 42 | ||||
-rw-r--r-- | vcl/source/gdi/bitmapex.cxx | 6 | ||||
-rw-r--r-- | vcl/source/graphic/UnoGraphicTransformer.cxx | 3 | ||||
-rw-r--r-- | vcl/source/image/Image.cxx | 6 | ||||
-rw-r--r-- | vcl/source/image/ImplImageTree.cxx | 8 | ||||
-rw-r--r-- | vcl/source/outdev/bitmap.cxx | 3 | ||||
-rw-r--r-- | vcl/source/outdev/font.cxx | 2 |
12 files changed, 68 insertions, 31 deletions
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; |