Fix bullet skipping enqueued tasks - #867

accellbaker
Riccardo Balbo 7 years ago committed by Stephen Gold
parent 2d6aa15526
commit 087197aff4
  1. 13
      jme3-bullet/src/main/java/com/jme3/bullet/PhysicsSpace.java

@ -193,19 +193,16 @@ public class PhysicsSpace {
private native long createPhysicsSpace(float minX, float minY, float minZ, float maxX, float maxY, float maxZ, int broadphaseType, boolean threading);
private void preTick_native(float f) {
AppTask task = pQueue.poll();
task = pQueue.poll();
while (task != null) {
while (task.isCancelled()) {
task = pQueue.poll();
}
try {
AppTask task;
while((task=pQueue.poll())!=null){
if(task.isCancelled())continue;
try{
task.invoke();
} catch (Exception ex) {
logger.log(Level.SEVERE, null, ex);
}
task = pQueue.poll();
}
for (Iterator<PhysicsTickListener> it = tickListeners.iterator(); it.hasNext();) {
PhysicsTickListener physicsTickCallback = it.next();
physicsTickCallback.prePhysicsTick(this, f);

Loading…
Cancel
Save