summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <dkf@noemail.net>2009-12-11 11:18:54 (GMT)
committerdkf <dkf@noemail.net>2009-12-11 11:18:54 (GMT)
commit160e4a6370b3b96427a6ae51652e2c5a7d14c884 (patch)
tree01154ec433c8334d004f9a1616186ced8c9481f7
parent9bd092fcf3606bc2eaac3fe1d84776633577dc1c (diff)
downloadtk-160e4a6370b3b96427a6ae51652e2c5a7d14c884.zip
tk-160e4a6370b3b96427a6ae51652e2c5a7d14c884.tar.gz
tk-160e4a6370b3b96427a6ae51652e2c5a7d14c884.tar.bz2
[Bug 2912473]: Stop problems caused by display names with a double colon in.
FossilOrigin-Name: ab74dd2e8e1d263f84036a0f518b16ff854925d1
-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