summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2020-11-01 14:17:03 (GMT)
committerfvogel <fvogelnew1@free.fr>2020-11-01 14:17:03 (GMT)
commit4d296190563cb28ae6c394e243da8f70973290b5 (patch)
tree4405d8acea64ad090d4b186aad902b29468930ac
parentab7e7f10137def475bf072146d6270b48a2efe49 (diff)
downloadtk-4d296190563cb28ae6c394e243da8f70973290b5.zip
tk-4d296190563cb28ae6c394e243da8f70973290b5.tar.gz
tk-4d296190563cb28ae6c394e243da8f70973290b5.tar.bz2
Fix [4ebcc04dc4]: tk fontchooser partial configure on X11 overwrites options not specified.
-rw-r--r--library/comdlg.tcl9
-rw-r--r--library/fontchooser.tcl2
2 files changed, 7 insertions, 4 deletions
diff --git a/library/comdlg.tcl b/library/comdlg.tcl
index 18df8a6..b4d8978 100644
--- a/library/comdlg.tcl
+++ b/library/comdlg.tcl
@@ -29,7 +29,8 @@
# {....}
# }
#
-# flags = currently unused.
+# flags = a list of flags. Currently supported flags are:
+# DONTSETDEFAULTS = skip default values setting
#
# argList = The list of "-option value" pairs.
#
@@ -63,8 +64,10 @@ proc tclParseConfigSpec {w specs flags argList} {
# 2: set the default values
#
- foreach cmdsw [array names cmd] {
- set data($cmdsw) $def($cmdsw)
+ if {"DONTSETDEFAULTS" ni $flags} {
+ foreach cmdsw [array names cmd] {
+ set data($cmdsw) $def($cmdsw)
+ }
}
# 3: parse the argument list
diff --git a/library/fontchooser.tcl b/library/fontchooser.tcl
index a9bd706..9d49c57 100644
--- a/library/fontchooser.tcl
+++ b/library/fontchooser.tcl
@@ -111,7 +111,7 @@ proc ::tk::fontchooser::Configure {args} {
set cache [dict create -parent $S(-parent) -title $S(-title) \
-font $S(-font) -command $S(-command)]
- set r [tclParseConfigSpec [namespace which -variable S] $specs "" $args]
+ set r [tclParseConfigSpec [namespace which -variable S] $specs DONTSETDEFAULTS $args]
if {![winfo exists $S(-parent)]} {
set code [list TK LOOKUP WINDOW $S(-parent)]
set err "bad window path name \"$S(-parent)\""