summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2009-12-11 11:18:54 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2009-12-11 11:18:54 (GMT)
commit8b4e67afad45324f1e560417e3429252383c1263 (patch)
tree01154ec433c8334d004f9a1616186ced8c9481f7
parentacce982a04d02ecfb316d7df97119428f7116539 (diff)
downloadtk-8b4e67afad45324f1e560417e3429252383c1263.zip
tk-8b4e67afad45324f1e560417e3429252383c1263.tar.gz
tk-8b4e67afad45324f1e560417e3429252383c1263.tar.bz2
[Bug 2912473]: Stop problems caused by display names with a double colon in.
-rw-r--r--ChangeLog5
-rw-r--r--library/tk.tcl7
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ec6edf..b07c1c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-11 Donal K. Fellows <dkf@users.sf.net>
+
+ * library/tk.tcl (::tk::ScreenChanged): [Bug 2912473]: Stop problems
+ caused by display names with a double colon in.
+
2009-11-01 Joe Mistachkin <joe@mistachkin.com>
* win/tkWinButton.c: [Bug 1739613]: The default width being stored
diff --git a/library/tk.tcl b/library/tk.tcl
index f656e9a..fbd89f1 100644
--- a/library/tk.tcl
+++ b/library/tk.tcl
@@ -3,7 +3,7 @@
# Initialization script normally executed in the interpreter for each
# Tk-based application. Arranges class bindings for widgets.
#
-# RCS: @(#) $Id: tk.tcl,v 1.46.2.7 2007/04/29 02:24:49 das Exp $
+# RCS: @(#) $Id: tk.tcl,v 1.46.2.8 2009/12/11 11:18:54 dkf Exp $
#
# Copyright (c) 1992-1994 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
@@ -242,6 +242,11 @@ proc ::tk::ScreenChanged screen {
set disp $screen
}
+ # Ensure that namespace separators never occur in the display name (as
+ # they cause problems in variable names). Double-colons exist in some VNC
+ # display names. [Bug 2912473]
+ set disp [string map {:: _doublecolon_} $disp]
+
uplevel #0 upvar #0 ::tk::Priv.$disp ::tk::Priv
variable ::tk::Priv
global tcl_platform