diff --git a/include/Nazara/Core/Signal.hpp b/include/Nazara/Core/Signal.hpp index 83e30b06f..8c5492834 100644 --- a/include/Nazara/Core/Signal.hpp +++ b/include/Nazara/Core/Signal.hpp @@ -31,7 +31,7 @@ class NzSignal template Connection&& Connect(O& object, void (O::*method)(Args...)); template Connection&& Connect(O* object, void (O::*method)(Args...)); - void operator()(Args&&... args); + void operator()(Args... args); NzSignal& operator=(const NzSignal&) = delete; NzSignal& operator=(NzSignal&& signal); diff --git a/include/Nazara/Core/Signal.inl b/include/Nazara/Core/Signal.inl index ac92f7a6e..fbf792027 100644 --- a/include/Nazara/Core/Signal.inl +++ b/include/Nazara/Core/Signal.inl @@ -59,10 +59,10 @@ typename NzSignal::Connection&& NzSignal::Connect(O* object, v } template -void NzSignal::operator()(Args&&... args) +void NzSignal::operator()(Args... args) { for (const SlotPtr& slot : m_slots) - slot->callback(std::forward(args)...); + slot->callback(args...); } template diff --git a/src/Nazara/Utility/Node.cpp b/src/Nazara/Utility/Node.cpp index 878db9d45..d80a3343a 100644 --- a/src/Nazara/Utility/Node.cpp +++ b/src/Nazara/Utility/Node.cpp @@ -40,6 +40,8 @@ m_transformMatrixUpdated(false) NzNode::~NzNode() { + OnNodeRelease(this); + for (NzNode* child : m_childs) { // child->SetParent(nullptr); serait problématique car elle nous appellerait @@ -49,8 +51,6 @@ NzNode::~NzNode() } SetParent(nullptr); - - NotifyRelease(Listener::OnNodeReleased); } void NzNode::EnsureDerivedUpdate() const @@ -655,12 +655,12 @@ void NzNode::InvalidateNode() for (NzNode* node : m_childs) node->InvalidateNode(); - Notify(Listener::OnNodeInvalidated); + OnNodeInvalidation(this); } void NzNode::OnParenting(const NzNode* parent) { - Notify(Listener::OnNodeParented, parent); + OnNodeNewParent(this, parent); } void NzNode::RemoveChild(NzNode* node) const @@ -714,28 +714,3 @@ void NzNode::UpdateTransformMatrix() const m_transformMatrix.MakeTransform(m_derivedPosition, m_derivedRotation, m_derivedScale); m_transformMatrixUpdated = true; } - -NzNode::Listener::~Listener() = default; - -bool NzNode::Listener::OnNodeInvalidated(const NzNode* node, void* userdata) -{ - NazaraUnused(node); - NazaraUnused(userdata); - - return true; -} - -bool NzNode::Listener::OnNodeParented(const NzNode* node, const NzNode* parent, void* userdata) -{ - NazaraUnused(node); - NazaraUnused(parent); - NazaraUnused(userdata); - - return true; -} - -void NzNode::Listener::OnNodeReleased(const NzNode* node, void* userdata) -{ - NazaraUnused(node); - NazaraUnused(userdata); -}