Skip to content

The OpenGL binding uses withCAStringLen where it should use withCAString

In the module Graphics.Rendering.OpenGL.GL.Shaders (and possibly in other parts of the OpenGL binding, I didn't check) when passing a string to the OpenGL drivers, the library always uses withCAStringLen to marshal the strings, which does not put the required the zero byte at the end of the string. This causes the functions getAttribLocation, bindAttribLocation and uniformLocation to fail randomly (it was a real pain to localize this bug...). The solution is to use withCAString in these cases instead (and meantime, as a workaround, to put the zero character there manually in the client code).

Trac metadata
Trac field Value
Version 6.8.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries (other)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC bkomuves@gmail.com
Operating system Unknown
Architecture Unknown
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information