gitk: Fix some bugs in the new cherry-picking code
When inserting the new commit row for the cherry-picked commit, we weren't advancing the selected line (if there is one), and we weren't updating commitlisted properly.
This commit is contained in:
parent
d1e46756d3
commit
561d038ab8
8
gitk
8
gitk
@ -3314,14 +3314,14 @@ proc finishcommits {} {
|
|||||||
catch {unset pending_select}
|
catch {unset pending_select}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Inserting a new commit as the child of the commit on row $row.
|
# Insert a new commit as the child of the commit on row $row.
|
||||||
# The new commit will be displayed on row $row and the commits
|
# The new commit will be displayed on row $row and the commits
|
||||||
# on that row and below will move down one row.
|
# on that row and below will move down one row.
|
||||||
proc insertrow {row newcmit} {
|
proc insertrow {row newcmit} {
|
||||||
global displayorder parentlist childlist commitlisted
|
global displayorder parentlist childlist commitlisted
|
||||||
global commitrow curview rowidlist rowoffsets numcommits
|
global commitrow curview rowidlist rowoffsets numcommits
|
||||||
global rowrangelist idrowranges rowlaidout rowoptim numcommits
|
global rowrangelist idrowranges rowlaidout rowoptim numcommits
|
||||||
global linesegends
|
global linesegends selectedline
|
||||||
|
|
||||||
if {$row >= $numcommits} {
|
if {$row >= $numcommits} {
|
||||||
puts "oops, inserting new row $row but only have $numcommits rows"
|
puts "oops, inserting new row $row but only have $numcommits rows"
|
||||||
@ -3334,6 +3334,7 @@ proc insertrow {row newcmit} {
|
|||||||
lappend kids $newcmit
|
lappend kids $newcmit
|
||||||
lset childlist $row $kids
|
lset childlist $row $kids
|
||||||
set childlist [linsert $childlist $row {}]
|
set childlist [linsert $childlist $row {}]
|
||||||
|
set commitlisted [linsert $commitlisted $row 1]
|
||||||
set l [llength $displayorder]
|
set l [llength $displayorder]
|
||||||
for {set r $row} {$r < $l} {incr r} {
|
for {set r $row} {$r < $l} {incr r} {
|
||||||
set id [lindex $displayorder $r]
|
set id [lindex $displayorder $r]
|
||||||
@ -3409,6 +3410,9 @@ proc insertrow {row newcmit} {
|
|||||||
incr rowoptim
|
incr rowoptim
|
||||||
incr numcommits
|
incr numcommits
|
||||||
|
|
||||||
|
if {[info exists selectedline] && $selectedline >= $row} {
|
||||||
|
incr selectedline
|
||||||
|
}
|
||||||
redisplay
|
redisplay
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user