Переглянути джерело

Merge pull request #174 from saloisio/master

Updated JOGL canvas classes to fix shutdown bug. Also added frame rate support.
Julien Gouesse 11 роки тому
батько
коміт
e448e46675

+ 10 - 2
jme3-jogl/src/main/java/com/jme3/system/jogl/JoglCanvas.java

@@ -65,6 +65,8 @@ public class JoglCanvas extends JoglAbstractDisplay implements JmeCanvasContext
     public void destroy(boolean waitFor){
         if (waitFor)
             waitFor(false);
+        if (animator.isAnimating())
+            animator.stop();
     }
 
     @Override
@@ -89,6 +91,12 @@ public class JoglCanvas extends JoglAbstractDisplay implements JmeCanvasContext
         listener.initialize();
     }
 
+    @Override
+    protected void startGLCanvas() {
+        frameRate = settings.getFrameRate();
+        super.startGLCanvas();
+    }
+
     public void display(GLAutoDrawable glad) {
         if (!created.get() && renderer != null){
             listener.destroy();
@@ -115,7 +123,7 @@ public class JoglCanvas extends JoglAbstractDisplay implements JmeCanvasContext
             animator.stop();
             wasAnimating = false;
         }
-            
+
         listener.update();
         renderer.onFrame();
 
@@ -126,7 +134,7 @@ public class JoglCanvas extends JoglAbstractDisplay implements JmeCanvasContext
     }
 
     @Override
-    public void dispose(GLAutoDrawable arg0) {       
+    public void dispose(GLAutoDrawable arg0) {
     }
 
 }

+ 9 - 1
jme3-jogl/src/main/java/com/jme3/system/jogl/JoglNewtCanvas.java

@@ -48,7 +48,7 @@ public class JoglNewtCanvas extends JoglNewtAbstractDisplay implements JmeCanvas
         super();
         initGLCanvas();
     }
-    
+
     @Override
     protected final void initGLCanvas() {
         super.initGLCanvas();
@@ -85,6 +85,8 @@ public class JoglNewtCanvas extends JoglNewtAbstractDisplay implements JmeCanvas
     public void destroy(boolean waitFor){
         if (waitFor)
             waitFor(false);
+        if (animator.isAnimating())
+            animator.stop();
     }
 
     @Override
@@ -109,6 +111,12 @@ public class JoglNewtCanvas extends JoglNewtAbstractDisplay implements JmeCanvas
         listener.initialize();
     }
 
+    @Override
+    protected void startGLCanvas() {
+        frameRate = settings.getFrameRate();
+        super.startGLCanvas();
+    }
+
     public void display(GLAutoDrawable glad) {
         if (!created.get() && renderer != null){
             listener.destroy();