diff options
author | andreas_kupries <andreas_kupries@noemail.net> | 2009-11-23 19:17:29 (GMT) |
---|---|---|
committer | andreas_kupries <andreas_kupries@noemail.net> | 2009-11-23 19:17:29 (GMT) |
commit | fddd726b0981eb7b77e28858ece14b86aa1a415d (patch) | |
tree | 1defe0a06517ee528e64505adf973d23ae8df077 | |
parent | 99f20b52d86de14d0ed83193bdd8113686f36a60 (diff) | |
download | tk-fddd726b0981eb7b77e28858ece14b86aa1a415d.zip tk-fddd726b0981eb7b77e28858ece14b86aa1a415d.tar.gz tk-fddd726b0981eb7b77e28858ece14b86aa1a415d.tar.bz2 |
* library/safetk.tcl (::safe::loadTk): [Bug 2902573]: Fixed access
to the cleanupHook of the safe base. The code used the old
internal commands which have been removed since 2009-11-05/06. See
Tcl's ChangeLog.
FossilOrigin-Name: 0c78bc14379571f7d1ff53a61961add787e71b01
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | library/safetk.tcl | 14 |
2 files changed, 15 insertions, 6 deletions
@@ -1,3 +1,10 @@ +2009-11-23 Andreas Kupries <andreask@activestate.com> + + * library/safetk.tcl (::safe::loadTk): [Bug 2902573]: Fixed access + to the cleanupHook of the safe base. The code used the old + internal commands which have been removed since 2009-11-05/06. See + Tcl's ChangeLog. + 2009-11-23 Donal K. Fellows <dkf@users.sf.net> * unix/Makefile.in: Added .PHONY lines to stop make from getting diff --git a/library/safetk.tcl b/library/safetk.tcl index 58cb954..8effc2a 100644 --- a/library/safetk.tcl +++ b/library/safetk.tcl @@ -2,7 +2,7 @@ # # Support procs to use Tk in safe interpreters. # -# RCS: @(#) $Id: safetk.tcl,v 1.12 2008/03/27 21:05:09 hobbs Exp $ +# RCS: @(#) $Id: safetk.tcl,v 1.13 2009/11/23 19:17:30 andreas_kupries Exp $ # # Copyright (c) 1997 Sun Microsystems, Inc. # @@ -81,19 +81,21 @@ proc ::safe::loadTk {} {} } } } + + # Get state for access to the cleanupHook. + namespace upvar ::safe S$slave state + if {![::tcl::OptProcArgGiven "-use"]} { # create a decorated toplevel - ::tcl::Lassign [tkTopLevel $slave $display] w use + lassign [tkTopLevel $slave $display] w use # set our delete hook (slave arg is added by interpDelete) # to clean up both window related code and tkInit(slave) - Set [DeleteHookName $slave] [list tkDelete {} $w] - + set state(cleanupHook) [list tkDelete {} $w] } else { - # set our delete hook (slave arg is added by interpDelete) # to clean up tkInit(slave) - Set [DeleteHookName $slave] [list disallowTk] + set state(cleanupHook) [list disallowTk] # Let's be nice and also accept tk window names instead of ids if {[string match ".*" $use]} { |