diff options
author | Kenneth Russel <[email protected]> | 2006-03-08 17:14:04 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2006-03-08 17:14:04 +0000 |
commit | 6b66ec1550a1f022db2dda2db3fe473cbebfec85 (patch) | |
tree | 72dca2fe3e14e7b1410f60f0d01305206285c202 /src/classes/javax/media/opengl | |
parent | ec11d8b213d18fc9dbcc2add3d86265044f629c9 (diff) |
Restructured how GLObjectTracker destroys tracked objects during
context destruction. Now, in addition to tracking sharing between
contexts requested by the user, also tracks the behind-the-scenes
sharing going on with e.g. Java2D. Makes determination of whether
objects can be immediately destroyed by checking current context and
seeing whether it shares the same deleted object pool as the one being
destroyed. If objects can not be destroyed immediately, their
destruction is deferred until the next makeCurrent of a context
sharing objects with the one currently being destroyed (if one exists
-- the case of this being the last context actually referencing the
objects is handled by the OpenGL drivers). This fixes the resizing
problems seen when -Dsun.java2d.opengl.fobject=true is specified along
with -Dsun.java2d.opengl=true in Mustang.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@654 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src/classes/javax/media/opengl')
-rw-r--r-- | src/classes/javax/media/opengl/GLJPanel.java | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/classes/javax/media/opengl/GLJPanel.java b/src/classes/javax/media/opengl/GLJPanel.java index 8d9b3c851..445ea3c4d 100644 --- a/src/classes/javax/media/opengl/GLJPanel.java +++ b/src/classes/javax/media/opengl/GLJPanel.java @@ -506,13 +506,10 @@ public class GLJPanel extends JPanel implements GLAutoDrawable { if (curSurface != null) { if (j2dSurface != curSurface) { if (joglContext != null) { - // Note that the following operation may make the - // joglContext current briefly joglContext.destroy(); joglContext = null; joglDrawable = null; sendReshape = true; - j2dContext.makeCurrent(); if (DEBUG) { System.err.println("Sending reshape because surface changed"); System.err.println("New surface = " + curSurface); |