Skip to content

NPE when clearing points with bodies in world #29

Description

@GoogleCodeExporter
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.badlogic.gdx.physics.box2d.World.destroyBody(World.java:309)
    at aurelienribon.bodyeditor.canvas.rigidbodies.RigidBodiesScreen.clearWorld(Unknown Source)
    at aurelienribon.bodyeditor.canvas.rigidbodies.RigidBodiesScreen.access$300(Unknown Source)


In RigidBodiesStream:

Iterator<Body> bodies = world.getBodies();
while (bodies.hasNext()) world.destroyBody(bodies.next());

This look suspicious; are you sure the iterator's backing collection isn't 
modified?

A conservative approach:

boolean empty = false;
while (!empty) {
  Iterator<Body> bodies = world.getBodies();
  empty = !bodies.hasNext();
  if (!empty) {
    world.destroyBody(bodies.next());
  }
}

Original issue reported on code.google.com by ernest.m...@gmail.com on 20 Mar 2014 at 3:00


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions