From b16458f121632823a7e7e1286d93b65656895f48 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Mon, 2 Feb 2026 19:01:41 +1100 Subject: [PATCH] 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 --- v3/pkg/application/dialogs_darwin.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v3/pkg/application/dialogs_darwin.go b/v3/pkg/application/dialogs_darwin.go index 282f4a41e..5ed6f4ab6 100644 --- a/v3/pkg/application/dialogs_darwin.go +++ b/v3/pkg/application/dialogs_darwin.go @@ -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)) }