Merge pull request #505 from JupiterRider/raygui_return_values

raygui: fix Spinner() return value and fix possible misuse of unsafe.Pointer
This commit is contained in:
Milan Nikolic 2025-06-17 19:41:27 +02:00 committed by GitHub
commit 6039070d78
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 5 deletions

View file

@ -70,7 +70,7 @@ func (arr *CStringArray) ToSlice() []string {
defer C.free(unsafe.Pointer(cs)) defer C.free(unsafe.Pointer(cs))
p := uintptr(arr.Pointer) p := uintptr(arr.Pointer)
for { for {
cs = (**C.char)(unsafe.Pointer(p)) cs = *(***C.char)(unsafe.Pointer(&p))
if *cs == nil { // skip NULL - the last element if *cs == nil { // skip NULL - the last element
break break
} }

View file

@ -548,8 +548,8 @@ func ComboBox(bounds rl.Rectangle, text string, active int32) int32 {
return int32(cactive) return int32(cactive)
} }
// Spinner control, returns selected value // Spinner control, sets value to the selected number and returns true when clicked.
func Spinner(bounds rl.Rectangle, text string, value *int32, minValue, maxValue int, editMode bool) int32 { func Spinner(bounds rl.Rectangle, text string, value *int32, minValue, maxValue int, editMode bool) bool {
var cbounds C.struct_Rectangle var cbounds C.struct_Rectangle
cbounds.x = C.float(bounds.X) cbounds.x = C.float(bounds.X)
cbounds.y = C.float(bounds.Y) cbounds.y = C.float(bounds.Y)
@ -573,8 +573,7 @@ func Spinner(bounds rl.Rectangle, text string, value *int32, minValue, maxValue
cmaxValue := C.int(maxValue) cmaxValue := C.int(maxValue)
ceditMode := C.bool(editMode) ceditMode := C.bool(editMode)
C.GuiSpinner(cbounds, ctext, &cvalue, cminValue, cmaxValue, ceditMode) return C.GuiSpinner(cbounds, ctext, &cvalue, cminValue, cmaxValue, ceditMode) != 0
return int32(cvalue)
} }
// Slider control // Slider control