aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java
index ee9a21095..99500adfb 100644
--- a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java
+++ b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java
@@ -158,7 +158,15 @@ public class GLArrayDataClient extends GLArrayDataWrapper implements GLArrayData
// init/generate VBO name if not done yet
init_vbo(gl);
}
- final Object ext = usesGLSL ? ShaderState.getShaderState(gl) : null ;
+ final Object ext;
+ if(usesGLSL) {
+ ext = ShaderState.getShaderState(gl);
+ if(null == ext) {
+ throw new GLException("A ShaderState must be bound to the GL context, use 'ShaderState.setShaderState(gl)'");
+ }
+ } else {
+ ext = null;
+ }
if(enable) {
glArrayHandler.syncData(gl, true, ext);
glArrayHandler.enableState(gl, true, ext);