mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r10647) -Fix: AutoPtrT::operator =() didn't delete old object
This commit is contained in:
parent
43ddd64817
commit
d3c20d65bd
@ -81,8 +81,16 @@ public:
|
||||
/** assignment operator */
|
||||
FORCEINLINE AutoPtrT& operator = (const AutoPtrT& src)
|
||||
{
|
||||
/* Save original pointer and replace it with the given one to avoid recursive calls. */
|
||||
T* p = m_p;
|
||||
m_p = src.m_p;
|
||||
|
||||
if (m_p != NULL) src.m_p = NULL;
|
||||
|
||||
if (p != NULL) {
|
||||
/* Now we can safely delete the old one. */
|
||||
delete p;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user