From dba1cd4b2641d1eb47b2daaa46d3f77d5ad9c40c Mon Sep 17 00:00:00 2001
From: Simon Heybrock <simon.heybrock@esss.se>
Date: Wed, 24 Jun 2015 13:27:41 +0200
Subject: [PATCH] Re #12917 Undid previous changes that rely on C++11's "=
 delete".

---
 Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h | 4 ++--
 Code/Mantid/Framework/API/inc/MantidAPI/Workspace.h    | 4 ++--
 Code/Mantid/Framework/API/src/IMDWorkspace.cpp         | 5 +++++
 Code/Mantid/Framework/API/src/Workspace.cpp            | 7 +++++++
 4 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h
index 144d85de410..cab3a6a7cc3 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h
@@ -133,8 +133,8 @@ public:
   virtual MDNormalization displayNormalization() const;
 
 protected:
-  IMDWorkspace(const IMDWorkspace &other) = default;
-  IMDWorkspace &operator=(const IMDWorkspace &other) = default;
+  IMDWorkspace(const IMDWorkspace &other);
+  IMDWorkspace &operator=(const IMDWorkspace &other);
   virtual const std::string toString() const;
 };
 
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/Workspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/Workspace.h
index 92a93103884..e80f548593c 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/Workspace.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/Workspace.h
@@ -84,8 +84,8 @@ public:
   const WorkspaceHistory &getHistory() const { return m_history; }
 
 protected:
-  Workspace(const Workspace &other) = default;
-  Workspace &operator=(const Workspace &other) = default;
+  Workspace(const Workspace &other);
+  Workspace &operator=(const Workspace &other);
 
 private:
   void setName(const std::string &);
diff --git a/Code/Mantid/Framework/API/src/IMDWorkspace.cpp b/Code/Mantid/Framework/API/src/IMDWorkspace.cpp
index 330761ab8c1..e5484916df3 100644
--- a/Code/Mantid/Framework/API/src/IMDWorkspace.cpp
+++ b/Code/Mantid/Framework/API/src/IMDWorkspace.cpp
@@ -13,6 +13,11 @@ namespace API {
 /** Default constructor */
 IMDWorkspace::IMDWorkspace() : Workspace(), Mantid::API::MDGeometry() {}
 
+//-----------------------------------------------------------------------------------------------
+/** Copy constructor */
+IMDWorkspace::IMDWorkspace(const IMDWorkspace &other)
+    : Workspace(other), Mantid::API::MDGeometry(other) {}
+
 /// Destructor
 IMDWorkspace::~IMDWorkspace() {}
 
diff --git a/Code/Mantid/Framework/API/src/Workspace.cpp b/Code/Mantid/Framework/API/src/Workspace.cpp
index e1f343c83f4..2b6dcfbf166 100644
--- a/Code/Mantid/Framework/API/src/Workspace.cpp
+++ b/Code/Mantid/Framework/API/src/Workspace.cpp
@@ -11,6 +11,13 @@ namespace API {
 Workspace::Workspace()
     : DataItem(), m_title(), m_comment(), m_name(), m_history() {}
 
+/** Copy constructor
+ * @param other :: workspace to copy
+ */
+Workspace::Workspace(const Workspace &other)
+    : DataItem(other), m_title(other.m_title), m_comment(other.m_comment),
+      m_name(other.m_name), m_history(other.m_history) {}
+
 /// Workspace destructor
 Workspace::~Workspace() {}
 
-- 
GitLab