When creating a dialog box from a command key shortcut Tcl/Tk Aqua freezes up.
This issue appears in the latest Active Tcl/Tk version for Mac; I think it also happens in the latest 8.5.9.2 build available.
This is related to the bug "https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3285355&group_id=12997" (this bug appears when an error message has to be displayed, with very similar consequences: a freeze and a white rectangle on the screen where the dialog should be).
I have cut down the example as much as possible. It works flawlessly on other platforms and on Mac using Active Tcl 8.4 and the older 8.5 builds.
(Basically this issue means that currently there is *no* Active Tcl build for Mac that works with our application; almost every command-key shortcut causes Tcl/Tk to freeze.)
There is no sample code provided here. Note that this is not really an ActiveTcl issue - this is a core issue with the cocoa port.
Note: I did attach the file.
Note: I did attach the file now.
This appears to be related to bug 3028676, but as I note in that bug, it is a complicated issue that is beyond my skill set to address at this time. As a result, I think it makes sense to identify the events in the sample script that cause the freeze, in order to come up with a suitable workaround. Currently I can't quite isolate what triggers the bug in this code sample. Simply using a keyboard shortcut to produce a toplevel does not produce any freeze, nor does adding grab, focus, and tkwait commands: global click
set click {}
proc dlg {} {
global click
toplevel .f
grab -global .f
pack [button .f.b -text "Press me" -command {puts "clicked!"; set click 1}]
bind .f <Command-w> {destroy .f}
tkwait variable click
}
bind . <Command-D> dlg
If you can provide a more cut-down example that allows us to isolate where the bug occurs, then I can suggest a better workaround to avoid it.