From 4c6ac56660c0b41c8627d2e434ea0de3656a4e8d Mon Sep 17 00:00:00 2001
From: Sam Jenkins <s.jenkins@stfc.ac.uk>
Date: Wed, 3 Apr 2019 13:21:20 +0100
Subject: [PATCH] Re #25465 Removed raw owning pointers from nexus descriptor

---
 Framework/Kernel/inc/MantidKernel/NexusDescriptor.h | 3 ++-
 Framework/Kernel/src/NexusDescriptor.cpp            | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h b/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h
index e5320bb0aef..7684b32e2f7 100644
--- a/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h
+++ b/Framework/Kernel/inc/MantidKernel/NexusDescriptor.h
@@ -13,6 +13,7 @@
 #include <string>
 #include <unordered_set>
 #include <utility>
+#include <memory>
 
 namespace NeXus {
 class File;
@@ -110,7 +111,7 @@ private:
   std::map<std::string, std::string> m_pathsToTypes;
 
   /// Open NeXus handle
-  ::NeXus::File *m_file;
+  std::unique_ptr< ::NeXus::File> m_file;
 };
 
 } // namespace Kernel
diff --git a/Framework/Kernel/src/NexusDescriptor.cpp b/Framework/Kernel/src/NexusDescriptor.cpp
index cc9902c37bc..b56b46e2cd3 100644
--- a/Framework/Kernel/src/NexusDescriptor.cpp
+++ b/Framework/Kernel/src/NexusDescriptor.cpp
@@ -142,7 +142,7 @@ NexusDescriptor::NexusDescriptor(const std::string &filename)
 
 /**
  */
-NexusDescriptor::~NexusDescriptor() { delete m_file; }
+NexusDescriptor::~NexusDescriptor() {}
 
 /// Returns the name & type of the first entry in the file
 const std::pair<std::string, std::string> &
@@ -220,7 +220,7 @@ void NexusDescriptor::initialize(const std::string &filename) {
   m_filename = filename;
   m_extension = "." + Poco::Path(filename).getExtension();
 
-  m_file = new ::NeXus::File(this->filename());
+  m_file = std::make_unique<::NeXus::File>(this->filename());
 
   m_file->openPath("/");
   m_rootAttrs.clear();
-- 
GitLab