Core/HandledObject: Fix move assignement operator

This commit is contained in:
Lynix
2018-04-03 22:05:35 +02:00
parent f8d1959d87
commit 31c272ab98
3 changed files with 147 additions and 2 deletions

View File

@@ -86,9 +86,12 @@ namespace Nz
template<typename T>
HandledObject<T>& HandledObject<T>::operator=(HandledObject&& object)
{
m_handles = std::move(object.m_handles);
for (ObjectHandle<T>* handle : m_handles)
m_handles.reserve(m_handles.size() + object.m_handles.size());
for (ObjectHandle<T>* handle : object.m_handles)
{
m_handles.push_back(handle);
handle->OnObjectMoved(static_cast<T*>(this));
}
return *this;
}