summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authordkf <dkf@noemail.net>2003-02-21 13:32:13 (GMT)
committerdkf <dkf@noemail.net>2003-02-21 13:32:13 (GMT)
commit30416c3606289001954405e870aa8084270cfffe (patch)
treed7ea6a459ceb5b8b417f33f5a340fd4149c73cbb /library
parent7df62af72326660ec03b34c1a706dc11490f281b (diff)
downloadtk-30416c3606289001954405e870aa8084270cfffe.zip
tk-30416c3606289001954405e870aa8084270cfffe.tar.gz
tk-30416c3606289001954405e870aa8084270cfffe.tar.bz2
* library/comdlg.tcl (FDGetFileTypes): Set an upper limit on how
long a file type item description string can get due to appending of types. [Bug #617392] FossilOrigin-Name: 338d3a2fc66c4085615a49a5a5b5e553b01f5e3e
Diffstat (limited to 'library')
-rw-r--r--library/comdlg.tcl12
1 files changed, 10 insertions, 2 deletions
diff --git a/library/comdlg.tcl b/library/comdlg.tcl
index cb2af18..9cc5d74 100644
--- a/library/comdlg.tcl
+++ b/library/comdlg.tcl
@@ -3,7 +3,7 @@
# Some functions needed for the common dialog boxes. Probably need to go
# in a different file.
#
-# RCS: @(#) $Id: comdlg.tcl,v 1.8 2001/08/01 16:21:11 dgp Exp $
+# RCS: @(#) $Id: comdlg.tcl,v 1.9 2003/02/21 13:32:14 dkf Exp $
#
# Copyright (c) 1996 Sun Microsystems, Inc.
#
@@ -281,13 +281,21 @@ proc ::tk::FDGetFileTypes {string} {
set name "$label ("
set sep ""
+ set doAppend 1
foreach ext $fileTypes($label) {
if {[string equal $ext ""]} {
continue
}
regsub {^[.]} $ext "*." ext
if {![info exists hasGotExt($label,$ext)]} {
- append name $sep$ext
+ if {$doAppend} {
+ if {[string length $sep] && [string length $name]>40} {
+ set doAppend 0
+ append name $sep...
+ } else {
+ append name $sep$ext
+ }
+ }
lappend exts $ext
set hasGotExt($label,$ext) 1
}