From d136d9c7057cc1ca69f47de89bca6e1481a236af Mon Sep 17 00:00:00 2001 From: Martyn Gigg <martyn.gigg@gmail.com> Date: Thu, 22 Feb 2018 12:18:38 +0000 Subject: [PATCH] Fix MSVC debug assertion in ConvertToMD Dereferencing .begin() is undefined behaviour if the container is empty. --- Framework/MDAlgorithms/src/ConvertToMD.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Framework/MDAlgorithms/src/ConvertToMD.cpp b/Framework/MDAlgorithms/src/ConvertToMD.cpp index c080fa8ef87..90adc440b12 100644 --- a/Framework/MDAlgorithms/src/ConvertToMD.cpp +++ b/Framework/MDAlgorithms/src/ConvertToMD.cpp @@ -378,7 +378,8 @@ void ConvertToMD::copyMetaData(API::IMDEventWorkspace_sptr &mdEventWS) const { auto mapping = boost::make_shared<det2group_map>(); for (size_t i = 0; i < m_InWS2D->getNumberHistograms(); ++i) { const auto &dets = m_InWS2D->getSpectrum(i).getDetectorIDs(); - mapping->emplace(*dets.begin(), dets); + if (!dets.empty()) + mapping->emplace(*dets.begin(), dets); } // The last experiment info should always be the one that refers -- GitLab