glesv2: check for null pointers in glGetString
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 26 Sep 2017 19:27:07 +0000 (15:27 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Wed, 20 Dec 2017 15:19:46 +0000 (10:19 -0500)
glGetString may return NULL pointers when OpenGL has not been correctly
initialized. This assert makes such errors easier to debug on mobile
devices when there's no stacktrace.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/glesv2/glesv2.nit

index b8e0bcb..6c52083 100644 (file)
@@ -1328,7 +1328,13 @@ fun gl_FRAMEBUFFER_BINDING: GLGetParameterName `{ return GL_FRAMEBUFFER_BINDING;
 fun gl_RENDERBUFFER_BINDING: GLGetParameterName `{ return GL_RENDERBUFFER_BINDING; `}
 
 # Return a string describing the current GL configuration
-fun glGetString(name: GLEnum): String do return glGetString_native(name).to_s
+fun glGetString(name: GLEnum): String
+do
+       var cstr = glGetString_native(name)
+       assert not cstr.address_is_null
+       return cstr.to_s
+end
+
 private fun glGetString_native(name: GLEnum): CString `{ return (char*)glGetString(name); `}
 
 # Company responsible for this GL implementation