Menu

#2910 Freeze for Dialogs Created from Shortcut

obsolete: 8.6b1.1
open
7
2011-07-05
2011-07-01
No

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.)

Discussion

  • Jeffrey Hobbs

    Jeffrey Hobbs - 2011-07-05

    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.

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2011-07-05
    • milestone: 897104 --> obsolete: 8.6b1.1
    • priority: 5 --> 7
    • assigned_to: das --> wordtech
     
  • Michael Leuschel

    Note: I did attach the file.

     
  • Michael Leuschel

    Note: I did attach the file now.

     
  • Kevin Walzer

    Kevin Walzer - 2011-07-07

    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.