From c29725f319d1ce1042eb85ff17f51ffeaf15bc70 Mon Sep 17 00:00:00 2001 From: Harvey Harrison Date: Sat, 19 May 2012 01:31:07 -0700 Subject: j3dcore: annotate the Device->Renderer map and always use static access Signed-off-by: Harvey Harrison --- src/classes/share/javax/media/j3d/Canvas3D.java | 3 +-- .../share/javax/media/j3d/MasterControl.java | 29 +++++++++------------- src/classes/share/javax/media/j3d/Screen3D.java | 4 +-- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/src/classes/share/javax/media/j3d/Canvas3D.java b/src/classes/share/javax/media/j3d/Canvas3D.java index b5a6321..62b778d 100644 --- a/src/classes/share/javax/media/j3d/Canvas3D.java +++ b/src/classes/share/javax/media/j3d/Canvas3D.java @@ -2077,8 +2077,7 @@ ArrayList textureIDResourceTable = new ArrayList e = Screen3D.deviceRendererMap.elements(); e.hasMoreElements(); ) { - Renderer rdr = (Renderer) e.nextElement(); + Renderer rdr = e.nextElement(); Screen3D scr; rendererCleanupArgs[2] = REMOVEALLCTXS_CLEANUP; @@ -2078,10 +2078,9 @@ class MasterControl { } // cleanup ThreadData corresponds to the view in renderer - for (Enumeration e = Screen3D.deviceRendererMap.elements(); + for (Enumeration e = Screen3D.deviceRendererMap.elements(); e.hasMoreElements(); ) { - Renderer rdr = (Renderer) e.nextElement(); - rdr.cleanup(); + e.nextElement().cleanup(); } // We have to reuse renderer even though MC exit // see bug 4363279 @@ -2089,10 +2088,9 @@ class MasterControl { } else { // cleanup ThreadData corresponds to the view in renderer - for (Enumeration e = Screen3D.deviceRendererMap.elements(); + for (Enumeration e = Screen3D.deviceRendererMap.elements(); e.hasMoreElements(); ) { - Renderer rdr = (Renderer) e.nextElement(); - rdr.cleanupView(); + e.nextElement().cleanupView(); } } @@ -2276,9 +2274,7 @@ class MasterControl { // device of the screen of the canvas // No need to synchronized since only // MC use it. - Renderer rdr = - (Renderer) screen.deviceRendererMap.get( - cv.screen.graphicsDevice); + Renderer rdr = Screen3D.deviceRendererMap.get(cv.screen.graphicsDevice); if (rdr == null) { java.security.AccessController.doPrivileged( new java.security.PrivilegedAction() { @@ -2294,8 +2290,7 @@ class MasterControl { } }); screen.renderer.initialize(); - screen.deviceRendererMap.put( - screen.graphicsDevice, screen.renderer); + Screen3D.deviceRendererMap.put(screen.graphicsDevice, screen.renderer); } else { screen.renderer = rdr; } @@ -2826,9 +2821,9 @@ class MasterControl { thread = null; - for (Enumeration e = Screen3D.deviceRendererMap.elements(); + for (Enumeration e = Screen3D.deviceRendererMap.elements(); e.hasMoreElements(); ) { - Renderer rdr = (Renderer) e.nextElement(); + Renderer rdr = e.nextElement(); thread = rdr.getThreadData(null, null); requestRenderWorkThreads.add(thread); thread.threadOpts = J3dThreadData.CONT_THREAD; diff --git a/src/classes/share/javax/media/j3d/Screen3D.java b/src/classes/share/javax/media/j3d/Screen3D.java index 9243363..4ae6817 100644 --- a/src/classes/share/javax/media/j3d/Screen3D.java +++ b/src/classes/share/javax/media/j3d/Screen3D.java @@ -166,8 +166,8 @@ public class Screen3D extends Object { // The renderer for this screen Renderer renderer = null; - // Hashtable that maps a GraphicsDevice to its associated renderer - static Hashtable deviceRendererMap = new Hashtable(); +// Hashtable that maps a GraphicsDevice to its associated renderer +static Hashtable deviceRendererMap = new Hashtable(); // A count of the number of canvases associated with this screen int canvasCount = 0; -- cgit v1.2.3