Tcl Source Code

View Ticket
Login
Ticket UUID: 1812048
Title: loop race in canvas Enter / Leave bindings
Type: Bug Version: None
Submitter: stevenaaus Created on: 2007-10-12 06:47:07
Subsystem: 02. Event Loops Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Minor
Status: Pending Last Modified: 2014-02-23 16:54:37
Resolution: Invalid Closed By: nobody
    Closed on:
Description:
Hope i've submitted this bug to the right place/category.

Hmmm... Seems to me there's definately a bug in tk with the canvas Enter and Leave bindings. I've tested this on wish 8.4.1, 8.4.16 and 8.5b1.

TkHearts-0.86 runs fine, but when i entered these two bindings (patch backs them out) - bound only against players face up cards, tcl just freezes quite unpredictably. Occasionally on startup and in a game, but often after returning from a change of focus between apps, or even from the "about" widget.

I added two lines of debugging code that trace control into doCardUp and doCardDown.  They work fine, but when the game freezes, it became apparent tcl was stuck in a Enter/Leave loop, continuously calling doCardUp and doCardDown (which are bound to Enter and Leave). This behaviour is the same in 8.4.1 8.4.16 and 8.5b1. I run fedora4, xorg-x11-6.8.2-31.

Another data point - I also totally removed the ".c bind player0 <Leave>" command hoping to get around the bug...
leaving just the Enter binding, but i ~still~ managed to get a loop race condition :<

Thanks, Steven Atkinson, [email protected]
User Comments: stevenaaus added on 2007-10-15 13:22:40:
Logged In: YES 
user_id=1043388
Originator: YES

Ooops, i just found the Tk bug page and have re-submitted it to them.
Sorry. S.A.

stevenaaus added on 2007-10-12 13:47:09:

File Added - 249322: canvas_bindings_bug.tgz

Attachments: