diff options
Diffstat (limited to 'lldb/source/API/SBFrame.cpp')
-rw-r--r-- | lldb/source/API/SBFrame.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp index 5477a89c1b2..55401c03dff 100644 --- a/lldb/source/API/SBFrame.cpp +++ b/lldb/source/API/SBFrame.cpp @@ -15,6 +15,7 @@ #include "lldb/lldb-types.h" #include "Plugins/ExpressionParser/Clang/ClangPersistentVariables.h" +#include "Utils.h" #include "lldb/Core/Address.h" #include "lldb/Core/StreamFile.h" #include "lldb/Core/ValueObjectRegister.h" @@ -68,14 +69,15 @@ SBFrame::SBFrame(const StackFrameSP &lldb_object_sp) } } -SBFrame::SBFrame(const SBFrame &rhs) - : m_opaque_sp(new ExecutionContextRef(*rhs.m_opaque_sp)) {} +SBFrame::SBFrame(const SBFrame &rhs) : m_opaque_sp() { + m_opaque_sp = clone(rhs.m_opaque_sp); +} SBFrame::~SBFrame() = default; const SBFrame &SBFrame::operator=(const SBFrame &rhs) { if (this != &rhs) - *m_opaque_sp = *rhs.m_opaque_sp; + m_opaque_sp = clone(rhs.m_opaque_sp); return *this; } |