From ee543a834de0232cf9d7d076054481b607fac074 Mon Sep 17 00:00:00 2001 From: Tazpn <tazpn@users.sourceforge.net> Date: Sat, 10 Jun 2006 19:34:50 +0000 Subject: [PATCH] Fix iterator issue with NiNode when clearing children and Clearing issue with NiObjectNET and controllers. --- obj/NiNode.cpp | 2 +- obj/NiObjectNET.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/obj/NiNode.cpp b/obj/NiNode.cpp index a62b59b1..947040a8 100644 --- a/obj/NiNode.cpp +++ b/obj/NiNode.cpp @@ -69,7 +69,7 @@ void NiNode::RemoveChild( Ref<NiAVObject> obj ) { } void NiNode::ClearChildren() { - for ( vector< NiAVObjectRef >::iterator it = children.begin(); it != children.end(); ) { + for ( vector< NiAVObjectRef >::iterator it = children.begin(); it != children.end(); ++it) { (*it)->SetParent(NULL); } children.clear(); diff --git a/obj/NiObjectNET.cpp b/obj/NiObjectNET.cpp index 7efe516f..0a47411b 100644 --- a/obj/NiObjectNET.cpp +++ b/obj/NiObjectNET.cpp @@ -152,11 +152,11 @@ void NiObjectNET::RemoveController( Ref<NiTimeController> obj ) { } } void NiObjectNET::ClearControllers() { - NiTimeControllerRef cont = controller; - while ( cont != NULL ) { - cont->SetTarget(NULL); + NiTimeControllerRef * cont = &controller; + while ( (*cont) != NULL ) { + (*cont)->SetTarget(NULL); + (*cont) = (*cont)->GetNextController(); } - controller = NULL; } list< Ref<NiTimeController> > NiObjectNET::GetControllers() const { -- GitLab