Avoid unneeded inc/dec rec in RefPtr::operator=

This commit is contained in:
Maxime Coste 2015-11-10 13:50:15 +00:00
parent 95c1d25f28
commit 53184829ee

View File

@ -24,11 +24,15 @@ struct RefPtr
RefPtr& operator=(const RefPtr& other)
{
release();
m_ptr = other.m_ptr;
acquire();
if (other.m_ptr != m_ptr)
{
release();
m_ptr = other.m_ptr;
acquire();
}
return *this;
}
RefPtr& operator=(RefPtr&& other)
{
release();
@ -40,9 +44,12 @@ struct RefPtr
RefPtr& operator=(T* ptr)
{
release();
m_ptr = ptr;
acquire();
if (ptr != m_ptr)
{
release();
m_ptr = ptr;
acquire();
}
return *this;
}