mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-09-01 10:59:12 +00:00
(svn r10647) -Fix: AutoPtrT::operator =() didn't delete old object
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user