From 7d946685a48be3a0c854793950b7d0dd95125041 Mon Sep 17 00:00:00 2001 From: Kiran Shila Date: Wed, 20 May 2026 15:11:25 +0800 Subject: Fix Vi2DataProvider move semantics --- msvis/MSVis/statistics/Vi2DataProvider.h | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/msvis/MSVis/statistics/Vi2DataProvider.h b/msvis/MSVis/statistics/Vi2DataProvider.h index 4570d13..cb76a2e 100644 --- a/msvis/MSVis/statistics/Vi2DataProvider.h +++ b/msvis/MSVis/statistics/Vi2DataProvider.h @@ -121,7 +121,7 @@ public: } Vi2DataProvider(Vi2DataProvider&& other) - : vi2(other.vi2) + : vi2(std::move(other.vi2)) , mergedColumns(other.mergedColumns) , datasetIndex(other.datasetIndex) , datasetChunkOrigin(other.datasetChunkOrigin) @@ -130,14 +130,13 @@ public: , component(other.component) , use_data_weights(other.use_data_weights) , omit_flagged_data(other.omit_flagged_data) - , data_iterator(other.data_iterator) - , weights_iterator(other.weights_iterator) - , mask_iterator(other.mask_iterator) { - other.vi2 = nullptr; + , data_iterator(std::move(other.data_iterator)) + , weights_iterator(std::move(other.weights_iterator)) + , mask_iterator(std::move(other.mask_iterator)) { } Vi2DataProvider& operator=(Vi2DataProvider&& other) { - vi2 = other.vi2; + vi2 = std::move(other.vi2); mergedColumns = other.mergedColumns; datasetIndex = other.datasetIndex; datasetChunkOrigin = other.datasetChunkOrigin; @@ -146,10 +145,9 @@ public: component = other.component; const_cast (use_data_weights) = other.use_data_weights; const_cast (omit_flagged_data) = other.omit_flagged_data; - data_iterator = other.data_iterator; - weights_iterator = other.weights_iterator; - mask_iterator = other.mask_iterator; - other.vi2 = nullptr; + data_iterator = std::move(other.data_iterator); + weights_iterator = std::move(other.weights_iterator); + mask_iterator = std::move(other.mask_iterator); return *this; } -- 2.53.0