aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-04-27 19:45:43 +0200
committerSven Gothel <[email protected]>2010-04-27 19:45:43 +0200
commit897c7248f9895d828542d524b211b74efcc715d2 (patch)
tree2b6ddc670320f5372b9d4a1a686d9e453e63ce82 /src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
parentb5fc2499749d9c180d3e5a0e04a939bd78017068 (diff)
JOGL Error Handling
- Catch invalid drawable for all impl. at GLContextImpl if !created yet - GLDrawableFactoryImpl (X11/WGL) catch and fwd Throwable properly - GLProfile catch LinkageError and handle it In case of nothing is available, a final ExceptionInInitializer will be thrown, with the produced GLException that no GLProfile is available.
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java b/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
index 826523a5c..fd8c85398 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java
@@ -275,6 +275,16 @@ public abstract class GLContextImpl extends GLContext {
GLWorkerThread.invokeLater(new Runnable() { public void run() {} });
}
+ if (!isCreated()) {
+ // verify if the drawable if valid ..
+ if (0 == getGLDrawable().getNativeWindow().getSurfaceHandle()) {
+ throw new GLException("drawable has invalid surface handle: "+getGLDrawable());
+ }
+ if (null == getGLDrawable().getChosenGLCapabilities()) {
+ throw new GLException("drawable has no chosen GLCapabilities: "+getGLDrawable());
+ }
+ }
+
lock.lock();
int res = 0;
try {