From 0059f2b24759e77653820aeaa2a02439a742119e Mon Sep 17 00:00:00 2001
From: Dave Casper <dcasper@uci.edu>
Date: Thu, 12 May 2022 07:35:03 -0700
Subject: [PATCH] Prevent memory leak

---
 .../TrenchGeoModel/src/TrenchDetectorFactory.cxx           | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx b/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx
index 3862cc8c..c2dcc9b2 100644
--- a/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx
+++ b/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx
@@ -61,7 +61,12 @@ void TrenchDetectorFactory::create(GeoPhysVol *world)
 
     std::string resolvedFile = PathResolver::find_file(gdmlFile, "XMLPATH", PathResolver::RecursiveSearch);
 
-    XMLHandlerStore::GetHandlerStore()->clear();
+    auto store = XMLHandlerStore::GetHandlerStore();
+    for (auto p : *store)
+    {
+      delete p.second;
+    }
+    store->clear();
 
     GDMLController controller {"TrenchGDMLController"};
 
-- 
GitLab