fix(darwin): prevent panic on empty Icon slice in dialogs

Change nil checks to length checks before accessing Icon[0] to prevent
panic when Icon is an empty slice rather than nil.

Fixes #3631

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lea Anthony 2026-02-02 19:01:41 +11:00
commit b16458f121

View file

@ -392,13 +392,13 @@ func (m *macosDialog) show() {
}
var iconData unsafe.Pointer
var iconLength C.int
if m.dialog.Icon != nil {
if len(m.dialog.Icon) > 0 {
iconData = unsafe.Pointer(&m.dialog.Icon[0])
iconLength = C.int(len(m.dialog.Icon))
} else {
// if it's an error, use the application Icon
if m.dialog.DialogType == ErrorDialogType {
if globalApplication.options.Icon != nil {
if len(globalApplication.options.Icon) > 0 {
iconData = unsafe.Pointer(&globalApplication.options.Icon[0])
iconLength = C.int(len(globalApplication.options.Icon))
}