fixed memory leak
M src/main/net/dermetfan/kryonet/box2d/multiplayer/WorldHost.java +5 -1
@@ 19,6 19,7 @@ import com.badlogic.gdx.physics.box2d.Fi
 import com.badlogic.gdx.physics.box2d.Joint;
 import com.badlogic.gdx.physics.box2d.World;
 import com.badlogic.gdx.utils.Array;
+import com.badlogic.gdx.utils.Disposable;
 import com.badlogic.gdx.utils.IntMap.Keys;
 import com.badlogic.gdx.utils.PooledLinkedList;
 import com.badlogic.gdx.utils.Pools;

          
@@ 277,7 278,10 @@ public class WorldHost extends Listener 
 			acceptedProposals.iter();
 			Pair<UpdateProposal, Connection> pair = acceptedProposals.next();
 			while(pair != null) {
-				updater.update(world, pair.getKey().getUpdate());
+				Update update = pair.getKey().getUpdate();
+				if(update instanceof Disposable)
+					((Disposable) update).dispose();
+				updater.update(world, update);
 				pair = acceptedProposals.next();
 			}
 		}

          
M src/main/net/dermetfan/kryonet/box2d/multiplayer/packets/updates/FixtureCreation.java +8 -1
@@ 21,9 21,10 @@ import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.KryoSerializable;
 import com.esotericsoftware.kryo.io.Input;
 import com.esotericsoftware.kryo.io.Output;
+import com.sun.media.jfxmediaimpl.MediaDisposer.Disposable;
 import net.dermetfan.kryo.serializers.FixtureDefSerializer;
 
-public class FixtureCreation extends Creation implements KryoSerializable {
+public class FixtureCreation extends Creation implements KryoSerializable, Disposable {
 
 	private int bodyHash;
 

          
@@ 54,6 55,12 @@ public class FixtureCreation extends Cre
 		fixtureDef = null;
 	}
 
+	/** disposes the shape of the {@link #fixtureDef} */
+	@Override
+	public void dispose() {
+		fixtureDef.shape.dispose();
+	}
+
 	// getters and setters
 
 	public int getBodyHash() {