From 7c3d9c165704e802c85c8396400301e51d67f74a Mon Sep 17 00:00:00 2001 From: Bradley Lowekamp Date: Wed, 7 Nov 2018 10:04:44 -0500 Subject: [PATCH] BUG: Fix move of histogram smart pointer Fixes so the a ownership transfer of the histogram pointer can occur via std::move in the ThreadedMergeHistogram method. --- .../Numerics/Statistics/include/itkImageToHistogramFilter.h | 2 +- .../Numerics/Statistics/include/itkImageToHistogramFilter.hxx | 4 ++-- .../Statistics/include/itkMaskedImageToHistogramFilter.hxx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.h b/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.h index f24c40d6a64..01956bc3955 100644 --- a/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.h +++ b/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.h @@ -133,7 +133,7 @@ class ITK_TEMPLATE_EXPORT ImageToHistogramFilter:public ImageTransformer virtual void ThreadedComputeMinimumAndMaximum( const RegionType & inputRegionForThread ); - virtual void ThreadedMergeHistogram( HistogramType *histogram ); + virtual void ThreadedMergeHistogram( HistogramPointer &&histogram ); std::mutex m_Mutex; diff --git a/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.hxx b/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.hxx index 8d03b8da646..f85fc9e9f5e 100644 --- a/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.hxx +++ b/Modules/Numerics/Statistics/include/itkImageToHistogramFilter.hxx @@ -260,13 +260,13 @@ ImageToHistogramFilter< TImage > ++inputIt; } - this->ThreadedMergeHistogram( histogram ); + this->ThreadedMergeHistogram( std::move(histogram) ); } template< typename TImage > void ImageToHistogramFilter< TImage > -::ThreadedMergeHistogram(HistogramType *histogram) +::ThreadedMergeHistogram(HistogramPointer &&histogram) { while (true) { diff --git a/Modules/Numerics/Statistics/include/itkMaskedImageToHistogramFilter.hxx b/Modules/Numerics/Statistics/include/itkMaskedImageToHistogramFilter.hxx index fb36ab7dfa0..486eee0280c 100644 --- a/Modules/Numerics/Statistics/include/itkMaskedImageToHistogramFilter.hxx +++ b/Modules/Numerics/Statistics/include/itkMaskedImageToHistogramFilter.hxx @@ -111,7 +111,7 @@ MaskedImageToHistogramFilter< TImage, TMaskImage > } - this->ThreadedMergeHistogram( histogram ); + this->ThreadedMergeHistogram( std::move(histogram) ); } } // end of namespace Statistics