diff options
author | csaba <csaba> | 2023-09-22 10:41:16 (GMT) |
---|---|---|
committer | csaba <csaba> | 2023-09-22 10:41:16 (GMT) |
commit | 628f976cd9d13a10763f46c60d238965f8bec1bb (patch) | |
tree | ae4919b92e8c9c8bf341ab6b1fd7fb3dbe6cd0be /library/tkfbox.tcl | |
parent | afe6ee91d03fffe21999b5ee7891d730e7a7ca8f (diff) | |
download | tk-628f976cd9d13a10763f46c60d238965f8bec1bb.zip tk-628f976cd9d13a10763f46c60d238965f8bec1bb.tar.gz tk-628f976cd9d13a10763f46c60d238965f8bec1bb.tar.bz2 |
Guarded the library script tkfbox.tcl against icon deletion (like in several Tk tests).
Diffstat (limited to 'library/tkfbox.tcl')
-rw-r--r-- | library/tkfbox.tcl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/library/tkfbox.tcl b/library/tkfbox.tcl index 52e632e..244524e 100644 --- a/library/tkfbox.tcl +++ b/library/tkfbox.tcl @@ -66,21 +66,26 @@ namespace eval ::tk::dialog::file { } # Create the images if they did not already exist. - if {![info exists ::tk::Priv(updirImage)]} { + if {![info exists ::tk::Priv(updirImage)] || + $::tk::Priv(updirImage) ni [image names]} { set ::tk::Priv(updirImage) [image create photo \ -format $::tk::svgFmt -data [UpdateUpdirImageData]] bindtags . [linsert [bindtags .] 1 TkFileDialog] bind TkFileDialog <<ThemeChanged>> { - $::tk::Priv(updirImage) configure \ - -data [::tk::dialog::file::UpdateUpdirImageData] + if {$::tk::Priv(updirImage) in [image names]} { + $::tk::Priv(updirImage) configure \ + -data [::tk::dialog::file::UpdateUpdirImageData] + } } } - if {![info exists ::tk::Priv(folderImage)]} { + if {![info exists ::tk::Priv(folderImage)] || + $::tk::Priv(folderImage) ni [image names]} { set ::tk::Priv(folderImage) [image create photo \ -format $::tk::svgFmt -data $folderImageData] } - if {![info exists ::tk::Priv(fileImage)]} { + if {![info exists ::tk::Priv(fileImage)] || + $::tk::Priv(fileImage) ni [image names]} { set ::tk::Priv(fileImage) [image create photo \ -format $::tk::svgFmt -data $fileImageData] } |