From 8b4e67afad45324f1e560417e3429252383c1263 Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 11 Dec 2009 11:18:54 +0000 Subject: [Bug 2912473]: Stop problems caused by display names with a double colon in. --- ChangeLog | 5 +++++ library/tk.tcl | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8ec6edf..b07c1c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-12-11 Donal K. Fellows + + * library/tk.tcl (::tk::ScreenChanged): [Bug 2912473]: Stop problems + caused by display names with a double colon in. + 2009-11-01 Joe Mistachkin * 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 -- cgit v0.12