SDK/GraphicsComponent: Fix invalidation slot disconnection in case Detach has been called

Former-commit-id: fac026c7d261e04d8eb8917f02d3a46395a6e56d [formerly dcdf872f4eaee1dc1fc233e7f3493bb748368dd3] [formerly b097f3fa371eaa1b99614abd5752cff34393eb26 [formerly 47d61b32b37091c6c407b5337a93d1d056fffc06]]
Former-commit-id: b6acb3795bec98d7c11f29970f3530c0a3c00fe2 [formerly df3ebb81912426ea81e1b94ff751437ce5cdbc46]
Former-commit-id: 7c085e0d37dbe2fecfc9db5507985ae64f861767
This commit is contained in:
Lynix 2016-08-11 01:03:53 +02:00
parent e22355db19
commit 5095630d70
2 changed files with 5 additions and 3 deletions

View File

@ -35,7 +35,7 @@ namespace Ndk
inline void Clear();
inline void Detach(const Nz::InstancedRenderableRef& renderable);
inline void Detach(const Nz::InstancedRenderable* renderable);
inline void EnsureBoundingVolumeUpdate() const;
inline void EnsureTransformMatrixUpdate() const;
@ -75,7 +75,8 @@ namespace Ndk
Renderable(Renderable&& renderable) noexcept :
data(std::move(renderable.data)),
renderable(std::move(renderable.renderable)),
dataUpdated(renderable.dataUpdated)
dataUpdated(renderable.dataUpdated),
renderableInvalidationSlot(std::move(renderable.renderableInvalidationSlot)),
{
}
@ -84,6 +85,7 @@ namespace Ndk
data = std::move(r.data);
dataUpdated = r.dataUpdated;
renderable = std::move(r.renderable);
renderableInvalidationSlot = std::move(r.renderableInvalidationSlot);
return *this;
}

View File

@ -54,7 +54,7 @@ namespace Ndk
InvalidateBoundingVolume();
}
inline void GraphicsComponent::Detach(const Nz::InstancedRenderableRef& renderable)
inline void GraphicsComponent::Detach(const Nz::InstancedRenderable* renderable)
{
for (auto it = m_renderables.begin(); it != m_renderables.end(); ++it)
{