summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com
diff options
context:
space:
mode:
authorMichael Bien <[email protected]>2010-06-17 00:14:11 +0200
committerMichael Bien <[email protected]>2010-06-17 00:14:11 +0200
commit33a24c85dd18d851b614359bb6b19535afd56d33 (patch)
treee943d0d45d28e41633d7279c41e03d81fd94a009 /src/jogl/classes/com
parenteca1abf29ac48dd18c2d40f44c2396ce160df6f2 (diff)
Provide a classloader for all reflection driven classloading ops.
- attempt to solve some issues in module systems - all classes are now loaded with the same classloader which loads GLProfile
Diffstat (limited to 'src/jogl/classes/com')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java2
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/ThreadingImpl.java7
-rwxr-xr-xsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java2
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java2
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java2
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java2
6 files changed, 9 insertions, 8 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java b/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
index dc98b5514..54d9b4e80 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
@@ -641,7 +641,7 @@ public abstract class GLContextImpl extends GLContext {
//
private Object createInstance(GLProfile glp, String suffix, Class[] cstrArgTypes, Object[] cstrArgs) {
- return ReflectionUtil.createInstance(glp.getGLImplBaseClassName()+suffix, cstrArgTypes, cstrArgs);
+ return ReflectionUtil.createInstance(glp.getGLImplBaseClassName()+suffix, getClass().getClassLoader(), cstrArgTypes, cstrArgs);
}
/** Create the GL for this context. */
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/ThreadingImpl.java b/src/jogl/classes/com/jogamp/opengl/impl/ThreadingImpl.java
index 1a68f38d4..35bb93899 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/ThreadingImpl.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/ThreadingImpl.java
@@ -64,6 +64,7 @@ public class ThreadingImpl {
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
String workaround = Debug.getProperty("jogl.1thread", true);
+ ClassLoader cl = ThreadingImpl.class.getClassLoader();
// Default to using the AWT thread on all platforms except
// Windows. On OS X there is instability apparently due to
// using the JAWT on non-AWT threads. On X11 platforms there
@@ -72,8 +73,8 @@ public class ThreadingImpl {
// while holding the AWT lock. The optimization of
// makeCurrent / release calls isn't worth these stability
// problems.
- hasAWT = ReflectionUtil.isClassAvailable("java.awt.Canvas") &&
- ReflectionUtil.isClassAvailable("javax.media.opengl.awt.GLCanvas");
+ hasAWT = ReflectionUtil.isClassAvailable("java.awt.Canvas", cl) &&
+ ReflectionUtil.isClassAvailable("javax.media.opengl.awt.GLCanvas", cl);
String osType = NativeWindowFactory.getNativeWindowType(false);
_isX11 = NativeWindowFactory.TYPE_X11.equals(osType);
@@ -103,7 +104,7 @@ public class ThreadingImpl {
Object threadingPluginObj=null;
// try to fetch the AWTThreadingPlugin
try {
- threadingPluginObj = ReflectionUtil.createInstance("com.jogamp.opengl.impl.awt.AWTThreadingPlugin");
+ threadingPluginObj = ReflectionUtil.createInstance("com.jogamp.opengl.impl.awt.AWTThreadingPlugin", cl);
} catch (JogampRuntimeException jre) { /* n/a .. */ }
return threadingPluginObj;
}
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java b/src/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java
index 935281c6c..72498a7af 100755
--- a/src/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java
@@ -55,7 +55,7 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl {
// Check for other underlying stuff ..
if(NativeWindowFactory.TYPE_X11.equals(NativeWindowFactory.getNativeWindowType(true))) {
try {
- ReflectionUtil.createInstance("com.jogamp.opengl.impl.x11.glx.X11GLXGraphicsConfigurationFactory");
+ ReflectionUtil.createInstance("com.jogamp.opengl.impl.x11.glx.X11GLXGraphicsConfigurationFactory", EGLDrawableFactory.class.getClassLoader());
} catch (JogampRuntimeException jre) { /* n/a .. */ }
}
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java b/src/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java
index 7f050412d..e71a78ffb 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java
@@ -78,7 +78,7 @@ public class MacOSXCGLDrawableFactory extends GLDrawableFactoryImpl {
new MacOSXCGLGraphicsConfigurationFactory();
try {
- ReflectionUtil.createInstance("com.jogamp.opengl.impl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory",
+ ReflectionUtil.createInstance("com.jogamp.opengl.impl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory", getClass().getClassLoader(),
new Object[] {});
} catch (JogampRuntimeException jre) { /* n/a .. */ }
}
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java b/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java
index 3fbe769e5..353ed8ac3 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java
@@ -80,7 +80,7 @@ public class WindowsWGLDrawableFactory extends GLDrawableFactoryImpl {
// The act of constructing them causes them to be registered
new WindowsWGLGraphicsConfigurationFactory();
try {
- ReflectionUtil.createInstance("com.jogamp.opengl.impl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory",
+ ReflectionUtil.createInstance("com.jogamp.opengl.impl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory", getClass().getClassLoader(),
new Object[] {});
} catch (JogampRuntimeException jre) { /* n/a .. */ }
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java b/src/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java
index 822a3d0b3..c08c7c73f 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java
@@ -78,7 +78,7 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl {
// The act of constructing them causes them to be registered
new X11GLXGraphicsConfigurationFactory();
try {
- ReflectionUtil.createInstance("com.jogamp.opengl.impl.x11.glx.awt.X11AWTGLXGraphicsConfigurationFactory",
+ ReflectionUtil.createInstance("com.jogamp.opengl.impl.x11.glx.awt.X11AWTGLXGraphicsConfigurationFactory", getClass().getClassLoader(),
new Object[] {});
} catch (JogampRuntimeException jre) { /* n/a .. */ }