K
Kevin Bercaw
Guest
I am launching wish from Virtuoso. There is some kind of blocking that is happening.
Symptoms:
I cannot interact with any widgets, i.e. I can't press a button but...
I can interact with the window, i.e. I can resize it and the window gets refreshed. Also I can insert text on a text widget and update entry widget (programatically only - all UI interaction beside window resizing is dead).
Here's a test script:
button .b -text "Exit" -command exit
pack .b
In a more complex test script I was able to send Tcl commands from Virtuoso (Virtuoso sending on stdout, Tcl reading stdin), and eval this command to trigger sending a command back to Virtuoso (Tcl sending stdout, Virtuoso reading stdin). So the wish application is not hung! But I still can't interact with any widgets I put up on the GUI.
I presume that the problem is that the Tcl event handler is busy but I don't understand why. I don't believe it's due to a blocking read of stdin as my fileevent callback is only called once when I send stdout from Virtuoso. (Also I configured stdin for non-blocking read).
If anybody has any ideas please send them along, thanks much!
Symptoms:
I cannot interact with any widgets, i.e. I can't press a button but...
I can interact with the window, i.e. I can resize it and the window gets refreshed. Also I can insert text on a text widget and update entry widget (programatically only - all UI interaction beside window resizing is dead).
Here's a test script:
button .b -text "Exit" -command exit
pack .b
In a more complex test script I was able to send Tcl commands from Virtuoso (Virtuoso sending on stdout, Tcl reading stdin), and eval this command to trigger sending a command back to Virtuoso (Tcl sending stdout, Virtuoso reading stdin). So the wish application is not hung! But I still can't interact with any widgets I put up on the GUI.
I presume that the problem is that the Tcl event handler is busy but I don't understand why. I don't believe it's due to a blocking read of stdin as my fileevent callback is only called once when I send stdout from Virtuoso. (Also I configured stdin for non-blocking read).
If anybody has any ideas please send them along, thanks much!