From b14428548163b00cb9f98c7aa98aa03ad93c6676 Mon Sep 17 00:00:00 2001 From: Milan Nikolic Date: Wed, 23 Mar 2022 14:03:16 +0100 Subject: [PATCH] Allow passing nil to LoadShader, issue #172 --- raylib/rlgl.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/raylib/rlgl.go b/raylib/rlgl.go index 63881a3..2a662a1 100644 --- a/raylib/rlgl.go +++ b/raylib/rlgl.go @@ -24,15 +24,17 @@ func LoadShader(vsFileName string, fsFileName string) Shader { cfsFileName := C.CString(fsFileName) defer C.free(unsafe.Pointer(cfsFileName)) - var v Shader if vsFileName == "" { - ret := C.LoadShader(nil, cfsFileName) - v = newShaderFromPointer(unsafe.Pointer(&ret)) - } else { - ret := C.LoadShader(cvsFileName, cfsFileName) - v = newShaderFromPointer(unsafe.Pointer(&ret)) + cvsFileName = nil } + if fsFileName == "" { + cfsFileName = nil + } + + ret := C.LoadShader(cvsFileName, cfsFileName) + v := newShaderFromPointer(unsafe.Pointer(&ret)) + return v } @@ -44,6 +46,14 @@ func LoadShaderFromMemory(vsCode string, fsCode string) Shader { cfsCode := C.CString(fsCode) defer C.free(unsafe.Pointer(cfsCode)) + if vsCode == "" { + cvsCode = nil + } + + if fsCode == "" { + cfsCode = nil + } + ret := C.LoadShaderFromMemory(cvsCode, cfsCode) v := newShaderFromPointer(unsafe.Pointer(&ret))