What steps will reproduce the problem?
1. world.AddController(contA)
2. world.AddController(contB)
3. world.RemoveController(contA)
4. contA.Step is still called at each world step beyond this point.
Add controller never updates contA.m_prev when contB is added. Subsequently,
RemoveController(contA) call has no effect and contA remains on the list of
controllers.
What is the expected output? What do you see instead?
I expect contA.Step to not be called from then on.
"Patch" (excuse the non-patch nature, added lines marked with '+'):
b2World.prototype.AddController = function (c) {
+ if( this.m_controllerList !== null ) {
+ this.m_controllerList.m_prev = c;
+ }
c.m_next = this.m_controllerList;
c.m_prev = null;
this.m_controllerList = c;
c.m_world = this;
this.m_controllerCount++;
return c;
}
Original issue reported on code.google.com by nzaluts...@amplify.com on 27 Mar 2015 at 4:26
Original issue reported on code.google.com by
nzaluts...@amplify.com
on 27 Mar 2015 at 4:26