Ticket UUID: | 1991932 | |||
Title: | Global grab can cause app to segfault | |||
Type: | Bug | Version: | obsolete: 8.5.2 | |
Submitter: | phase1geo | Created on: | 2008-06-12 12:32:31 | |
Subsystem: | 69. Other | Assigned To: | das | |
Priority: | 9 Immediate | Severity: | ||
Status: | Closed | Last Modified: | 2008-06-13 00:12:09 | |
Resolution: | Fixed | Closed By: | das | |
Closed on: | 2008-06-12 17:12:09 | |||
Description: |
I have attached a simple script that can cause wish to segfault when run. To replicate, simply type 'source test.tcl' at the wish prompt and follow the instructions of the various windows. I am running this using Tcl/Tk version 8.5.2, running on Mac OS X 10.5.3 on a Intel-based iMac. | |||
User Comments: |
das added on 2008-06-13 00:12:09:
Logged In: YES user_id=90580 Originator: NO Thanks much, that script made reproducing the crash easy. The attached patch fixes the crash, it turned out to be a bug in generic tkPointer code, the global . grab was not being restored correctly when the temporary grab for the .c.b button mousebutton press/release cycle was removed, leading to a dangling reference to .c inside the TkpSetCapture() implementation which was not cleaned up when .c was destroyed in the button command. Subsequent reference to the grab window from mouse-move event generation code would then segfault... Fix committed to HEAD, core-8-5-branch and core-8-4-branch. Note that this is a tk bug and should have been filed in the tktoolkit tracker (not bothering to refile it since it is fixed). nobody added on 2008-06-13 00:10:22: File Added - 281187: 1991932.diff phase1geo added on 2008-06-12 19:33:15: Logged In: YES user_id=512771 Originator: YES Assigning this to Daniel per his request. phase1geo added on 2008-06-12 19:32:31: File Added - 281146: test.tcl |