From: SourceForge.net <no...@so...> - 2004-04-13 09:02:17
|
Bugs item #932155, was opened at 2004-04-09 03:32 Message generated for change (Comment added) made by dkf You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=932155&group_id=12997 Category: 21. [panedwindow] Group: current: 8.4.6 Status: Open Resolution: None Priority: 5 Submitted By: Brian Griffin (bgriffin) Assigned to: Jeffrey Hobbs (hobbs) Summary: Sash misbehavior Initial Comment: If you have more than 1 sash (i.e more than 2 panes) and a drag is performed on one sash (causing the proxy to be placed) and then, on a different sash, a <Button-1> event followed by a <ButtonRelease-1> event with no intervening <B1-Motion> event, the sash will jump to the last proxy location. To fix this, the <Button-1> event must initialize the proxy location so that if there is no drag, the button release will cause no movement of the sash. This can be done by explicitly calling the DragSash function from the MarkSash function: proc ::tk::panedwindow::MarkSash {w x y proxy} { set what [$w identify $x $y] if { [llength $what] == 2 } { foreach {index which} $what break if { !$::tk_strictMotif || [string equal $which "handle"] } { if {!$proxy} { $w sash mark $index $x $y } set ::tk::Priv(sash) $index foreach {sx sy} [$w sash coord $index] break set ::tk::Priv(dx) [expr {$sx-$x}] set ::tk::Priv(dy) [expr {$sy-$y}] # Do this to init the proxy location DragSash $w $x $y $proxy } } } This bug exists on the top of trunk (8.5) as well. -Brian ---------------------------------------------------------------------- >Comment By: Donal K. Fellows (dkf) Date: 2004-04-13 10:02 Message: Logged In: YES user_id=79902 Is there a way to get a non-interactive test for this working before we fix it? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=932155&group_id=12997 |