summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jnlp-files/jogl-applet-bug816_glcanvas02.html4
-rw-r--r--jnlp-files/jogl-applet-bug818_gljpanel01.html2
-rw-r--r--jnlp-files/jogl-applet-bug848_glcanvas01.html32
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas01.java150
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas02.java57
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug848AppletGLCanvas01.java86
6 files changed, 222 insertions, 109 deletions
diff --git a/jnlp-files/jogl-applet-bug816_glcanvas02.html b/jnlp-files/jogl-applet-bug816_glcanvas02.html
index 850b9752a..f4958ec1b 100644
--- a/jnlp-files/jogl-applet-bug816_glcanvas02.html
+++ b/jnlp-files/jogl-applet-bug816_glcanvas02.html
@@ -11,14 +11,14 @@ Bug816 OSX CALayer Pos - Box Layout
<P>
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
- width="800" height="600">
+ width="600" height="300">
<param name="code" value="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug816AppletGLCanvas02">
<param name="archive" value="jar/lib/gluegen-rt.jar,
jar/lib/jogl-all.jar,
jar/jogl-test.jar">
<comment>
<embed code="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug816AppletGLCanvas02"
- width="800" height="600"
+ width="600" height="300"
type="application/x-java-applet;version=1.6"
archive="jar/gluegen-rt.jar,
jar/jogl-all.jar,
diff --git a/jnlp-files/jogl-applet-bug818_gljpanel01.html b/jnlp-files/jogl-applet-bug818_gljpanel01.html
index 2721ac9f4..84e612db1 100644
--- a/jnlp-files/jogl-applet-bug818_gljpanel01.html
+++ b/jnlp-files/jogl-applet-bug818_gljpanel01.html
@@ -16,7 +16,7 @@ Bug818 OSX GLJPanel NV GT330 Crash
<param name="archive" value="jar/lib/gluegen-rt.jar,
jar/lib/jogl-all.jar,
jar/jogl-test.jar">
- <param name="java_arguments" value="-Xms128M -Xmx512M -Dsun.java2d.noddraw=true"/>
+ <param name="java_arguments" value="-Xms128M -Xmx512M -Dsun.java2d.noddraw=true"/>
<comment>
<embed code="com.jogamp.opengl.test.junit.jogl.demos.gl2.awt.Bug818GLJPanelApplet"
width="750" height="350"
diff --git a/jnlp-files/jogl-applet-bug848_glcanvas01.html b/jnlp-files/jogl-applet-bug848_glcanvas01.html
new file mode 100644
index 000000000..bc6e90dc2
--- /dev/null
+++ b/jnlp-files/jogl-applet-bug848_glcanvas01.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<title>Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may crash</title>
+</head>
+<body BGCOLOR="#ffffff">
+
+<P>
+Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may 'crash'.
+</P>
+
+<P>
+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+ width="900" height="600">
+ <param name="code" value="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug848AppletGLCanvas01">
+ <param name="archive" value="jar/lib/gluegen-rt.jar,
+ jar/lib/jogl-all.jar,
+ jar/jogl-test.jar">
+ <comment>
+ <embed code="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug848AppletGLCanvas01"
+ width="900" height="600"
+ type="application/x-java-applet;version=1.6"
+ archive="jar/gluegen-rt.jar,
+ jar/jogl-all.jar,
+ jar/jogl-test.jar">
+ <noembed>Sorry, no Java support detected.</noembed>
+ </embed>
+ </comment>
+</object>
+</P>
+</body>
+</html>
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas01.java b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas01.java
index 175b053d1..4cecd90a1 100644
--- a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas01.java
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas01.java
@@ -54,81 +54,81 @@ import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Bug816AppletGLCanvas01 extends Applet implements GLEventListener {
- public Bug816AppletGLCanvas01() {
- }
-
- public static JFrame frame;
- public static JPanel appletHolder;
- public static boolean isApplet = true;
-
- static public void main(String args[]) {
- Applet myApplet = null;
- isApplet = false;
-
- myApplet = new Bug816AppletGLCanvas01();
- appletStarter(myApplet, "Bug861AppletGLCanvasTest01", 800, 600);
- }
-
- static public void appletStarter(final Applet des, String frameName, int width, int height) {
- appletHolder = new JPanel();
- if (frame != null) {
- frame.dispose();
- frame = null;
+ public Bug816AppletGLCanvas01() {
+ }
+
+ public static JFrame frame;
+ public static JPanel appletHolder;
+ public static boolean isApplet = true;
+
+ static public void main(String args[]) {
+ Applet myApplet = null;
+ isApplet = false;
+
+ myApplet = new Bug816AppletGLCanvas01();
+ appletStarter(myApplet, "Bug861AppletGLCanvasTest01", 800, 600);
+ }
+
+ static public void appletStarter(final Applet des, String frameName, int width, int height) {
+ appletHolder = new JPanel();
+ if (frame != null) {
+ frame.dispose();
+ frame = null;
+ }
+ frame = new JFrame(frameName);
+ frame.setVisible(false);
+ frame.getContentPane().add(appletHolder);
+
+ appletHolder.setLayout(null);
+ des.setBounds(0, 0, width, height);
+ appletHolder.add(des);
+
+ frame.setVisible(true);
+ int frameBorderSize = appletHolder.getLocationOnScreen().x - frame.getLocationOnScreen().x;
+ int titleBarHeight = appletHolder.getLocationOnScreen().y - frame.getLocationOnScreen().y;
+ int frameWidth = width + 2 * frameBorderSize;
+ int frameHeight = height + titleBarHeight + frameBorderSize;
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setSize(frameWidth, frameHeight);
+ frame.setVisible(true);
+ des.init();
+ frame.addWindowListener(new WindowAdapter() {
+ public void windowClosing(WindowEvent e) {
+ System.exit(0);
+ }
+ });
+ }
+
+ public void init() {
+ initOpenGLAWT();
+ }
+
+ public void initOpenGLAWT() {
+ setBackground(Color.gray);
+ setLayout(null);
+
+ GLProfile glp = GLProfile.getDefault();
+ GLCapabilities caps = new GLCapabilities(glp);
+ GLCanvas canvas = new GLCanvas((GLCapabilitiesImmutable) caps);
+ canvas.setBounds(50, 50, 200, 450);
+ canvas.addGLEventListener(this);
+ add(canvas);
+ }
+
+ public void init(GLAutoDrawable gLAutoDrawable) {
+ GL gl = gLAutoDrawable.getGL();
+ gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
+ gl.glClear(GL.GL_COLOR_BUFFER_BIT);
+ gLAutoDrawable.swapBuffers();
+ }
+
+ public void dispose(GLAutoDrawable glad) {
+ }
+
+ public void display(GLAutoDrawable glad) {
+ }
+
+ public void reshape(GLAutoDrawable glad, int i, int i1, int i2, int i3) {
}
- frame = new JFrame(frameName);
- frame.setVisible(false);
- frame.getContentPane().add(appletHolder);
-
- appletHolder.setLayout(null);
- des.setBounds(0, 0, width, height);
- appletHolder.add(des);
-
- frame.setVisible(true);
- int frameBorderSize = appletHolder.getLocationOnScreen().x - frame.getLocationOnScreen().x;
- int titleBarHeight = appletHolder.getLocationOnScreen().y - frame.getLocationOnScreen().y;
- int frameWidth = width + 2 * frameBorderSize;
- int frameHeight = height + titleBarHeight + frameBorderSize;
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setSize(frameWidth, frameHeight);
- frame.setVisible(true);
- des.init();
- frame.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- }
-
- public void init() {
- initOpenGLAWT();
- }
-
- public void initOpenGLAWT() {
- setBackground(Color.gray);
- setLayout(null);
-
- GLProfile glp = GLProfile.getDefault();
- GLCapabilities caps = new GLCapabilities(glp);
- GLCanvas canvas = new GLCanvas((GLCapabilitiesImmutable) caps);
- canvas.setBounds(50, 50, 200, 450);
- canvas.addGLEventListener(this);
- add(canvas);
- }
-
- public void init(GLAutoDrawable gLAutoDrawable) {
- GL gl = gLAutoDrawable.getGL();
- gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
- gl.glClear(GL.GL_COLOR_BUFFER_BIT);
- gLAutoDrawable.swapBuffers();
- }
-
- public void dispose(GLAutoDrawable glad) {
- }
-
- public void display(GLAutoDrawable glad) {
- }
-
- public void reshape(GLAutoDrawable glad, int i, int i1, int i2, int i3) {
- }
}
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas02.java b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas02.java
index 9ae0a2bbd..161f05c8d 100644
--- a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas02.java
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas02.java
@@ -28,8 +28,6 @@
package com.jogamp.opengl.test.junit.jogl.demos.es2.awt;
import java.applet.Applet;
-import java.util.ArrayList;
-import java.util.List;
import javax.media.opengl.GLAnimatorControl;
import javax.media.opengl.awt.GLCanvas;
@@ -49,37 +47,34 @@ import com.jogamp.opengl.util.Animator;
*/
@SuppressWarnings("serial")
public class Bug816AppletGLCanvas02 extends Applet {
- private List<GLAnimatorControl> animators = new ArrayList<GLAnimatorControl>(2);
+ GLAnimatorControl animator;
- @Override
- public void init() {
- System.err.println("GearsApplet: init() - begin");
- new BoxLayout(this, BoxLayout.X_AXIS);
- setSize(600, 300);
- add(createCanvas());
- add(createCanvas());
- System.err.println("GearsApplet: init() - end");
- }
+ @Override
+ public void init() {
+ System.err.println("GearsApplet: init() - begin");
+ animator = new Animator();
+ new BoxLayout(this, BoxLayout.X_AXIS);
+ setSize(600, 300);
+ add(createCanvas());
+ add(createCanvas());
+ System.err.println("GearsApplet: init() - end");
+ }
- private GLCanvas createCanvas() {
- GLCanvas canvas = new GLCanvas();
- canvas.addGLEventListener(new GearsES2(1));
- canvas.setSize(300, 300);
- animators.add(new Animator(canvas));
- return canvas;
- }
+ private GLCanvas createCanvas() {
+ GLCanvas canvas = new GLCanvas();
+ canvas.addGLEventListener(new GearsES2(1));
+ canvas.setSize(300, 300);
+ animator.add(canvas);
+ return canvas;
+ }
- @Override
- public void start() {
- for (GLAnimatorControl control : animators) {
- control.start();
- }
- }
+ @Override
+ public void start() {
+ animator.start();
+ }
- @Override
- public void stop() {
- for (GLAnimatorControl control : animators) {
- control.stop();
- }
- }
+ @Override
+ public void stop() {
+ animator.stop();
+ }
}
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug848AppletGLCanvas01.java b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug848AppletGLCanvas01.java
new file mode 100644
index 000000000..7b7b4e4c4
--- /dev/null
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug848AppletGLCanvas01.java
@@ -0,0 +1,86 @@
+/**
+ * Copyright 2013 JogAmp Community. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of JogAmp Community.
+ */
+package com.jogamp.opengl.test.junit.jogl.demos.es2.awt;
+
+import java.applet.Applet;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.media.opengl.GLAnimatorControl;
+import javax.media.opengl.awt.GLCanvas;
+import javax.swing.BoxLayout;
+
+import com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2;
+import com.jogamp.opengl.util.Animator;
+
+/**
+ * Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may 'crash'.
+ * <p>
+ * Test uses 2x3 GLCanvas in a box layout within the Applet.
+ * </p>
+ */
+@SuppressWarnings("serial")
+public class Bug848AppletGLCanvas01 extends Applet {
+ private List<GLAnimatorControl> animators = new ArrayList<GLAnimatorControl>(2);
+
+ @Override
+ public void init() {
+ System.err.println("GearsApplet: init() - begin");
+ new BoxLayout(this, BoxLayout.X_AXIS);
+ setSize(900, 600);
+ add(createCanvas());
+ add(createCanvas());
+ add(createCanvas());
+ add(createCanvas());
+ add(createCanvas());
+ add(createCanvas());
+ System.err.println("GearsApplet: init() - end");
+ }
+
+ private GLCanvas createCanvas() {
+ GLCanvas canvas = new GLCanvas();
+ canvas.addGLEventListener(new GearsES2(1));
+ canvas.setSize(300, 300);
+ animators.add(new Animator(canvas));
+ return canvas;
+ }
+
+ @Override
+ public void start() {
+ for (GLAnimatorControl control : animators) {
+ control.start();
+ }
+ }
+
+ @Override
+ public void stop() {
+ for (GLAnimatorControl control : animators) {
+ control.stop();
+ }
+ }
+}