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