Tk Source Code

View Ticket
Login
2008-06-24
17:26 Closed ticket [2001072fff]: tk_messageBox causes text entry to become unselectable plus 7 other changes artifact: 8bc66a75ee user: patthoyts
2008-06-23
17:56 New ticket [2001072fff]. artifact: 4a77d4d95e user: nobody

Ticket UUID: 2001072
Title: tk_messageBox causes text entry to become unselectable
Type: Bug Version: obsolete: 8.5.2
Submitter: nobody Created on: 2008-06-23 17:56:15
Subsystem: 35. [tk_dialog] Assigned To: hobbs
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2008-06-24 17:26:31
Resolution: Works For Me Closed By: patthoyts
    Closed on: 2008-06-24 10:26:31
Description:
Running this on windows:

entry .e -textvariable foo
pack .e
set foo foo
tk_messageBox -message hi 

Cannot select the text in the entry. It WILL select if a console window is opened (so to reproduce, put code in a file and run via a command line - e.g. wish test.tcl - or tclkit test.tcl - if you open up a console and type in the commands it does NOT reproduce the error).

I run on windows 2000, but others have reproduced this on xp and vista.
User Comments: patthoyts added on 2008-06-24 17:26:31:
Logged In: YES 
user_id=202636
Originator: NO

In your example you are only running an event loop when the messagebox is displayed or you have a separate interpreter operating the console. A correct program would be:
  package require Tk
  set foo [info patchlevel]
  pack [entry .e -textvariable foo]
  pack [button .b -text Alert -command {tk_messageBox -message testing}]
  tkwait window .
  exit
The expected result will be that when you click the Alert button to show the messagebox, the main window will be blocked untill the messagebox is dismissed. On Windows trying to click the main window controls (ie: to select the entry or re-click the button) should result in a bell sound and the messagebox flashing a little.