Duncan Murdoch <[EMAIL PROTECTED]> writes: > On Fri, 06 Jun 2003 07:23:27 -0400, you wrote: > > > > >You can test for the problem with the following code: > ... > >I find that I can make the scrollbar stick under Windows XP by repeatedly > >and rapidly pressing the scroll-down button. > > I can reproduce it easily in XP in yesterday's 1.7.1 beta. > > >I wonder whether anyone else has encountered this problem or has any > >insight into its source. > > I don't know TCL/TK well enough to know what tkgrab does in Windows > terms, but the general symptoms look as though events are being > missed. When you click on something messages are generated for > mouse-down and mouse-up events; it looks as though some mouse-up > messages are being lost.
We have an old issue on Windows which I haven't had the stamina to dig into: On Unix, all Tcl event handling is keyed to the keyboard loop. On Windows, we run a check for Tcl events "every once in a while". I think it was Brian that implemented the Windows version and it seemed like a good idea at the time. However, it breaks some things where Tcl/Tk tends to assume atomic processing. E.g., this is behind the code in the tkfaq demo (and elsewhere): txt <- tktext(tt, bg="white", font="courier") scr <- tkscrollbar(tt, repeatinterval=5, command=function(...)tkyview(txt,...)) ## Safest to make sure scr exists before setting yscrollcommand tkconfigure(txt, yscrollcommand=function(...)tkset(scr,...)) Where the point is that the text widget will otherwise generate an event which results in a call to tkset(scr,...), possibly before scr exists. In a Tcl script, there is no problem with this and the preferred idiom is actually text .tt.txt -command {set .tt.scr} scrollbar .tt.scr -command {yview .tt.txt} (although you can't run them like that individually on the wish command line for the same reason as above). I.e. Tcl scripts generally expect to run to completion before event processing takes place. You could be bumping into something similar in the function that calls tkgrab. -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-devel