From 5fcebd02741eea738dfcb7fc43d8d86f139293fe Mon Sep 17 00:00:00 2001 From: Atterpac <89053530+atterpac@users.noreply.github.com> Date: Tue, 2 Jul 2024 01:49:19 -0700 Subject: [PATCH] fix windows file dialog panic when directory doesnt exist (#3582) --- .../go-common-file-dialog/cfd/DialogConfig.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/v3/internal/go-common-file-dialog/cfd/DialogConfig.go b/v3/internal/go-common-file-dialog/cfd/DialogConfig.go index 221dbef27..f2ee8782e 100644 --- a/v3/internal/go-common-file-dialog/cfd/DialogConfig.go +++ b/v3/internal/go-common-file-dialog/cfd/DialogConfig.go @@ -2,6 +2,10 @@ package cfd +import ( + "os" +) + type FileFilter struct { // The display name of the filter (That is shown to the user) DisplayName string @@ -67,6 +71,10 @@ func (config *DialogConfig) apply(dialog Dialog) (err error) { } if config.Folder != "" { + _, err = os.Stat(config.Folder) + if err != nil { + return + } err = dialog.SetFolder(config.Folder) if err != nil { return @@ -74,6 +82,10 @@ func (config *DialogConfig) apply(dialog Dialog) (err error) { } if config.DefaultFolder != "" { + _, err = os.Stat(config.DefaultFolder) + if err != nil { + return + } err = dialog.SetDefaultFolder(config.DefaultFolder) if err != nil { return