gitk: include y coord in recorded sash position

6cd80496e9 ("gitk: Resize panes correctly when reducing window size",
2020-10-03) introduces a mechanism to record previously-set sash
positions to make sure that correct values are used while computing
resize proportions. However, if we are not using ttk, then sash
represents only the x coordinate and the recorded sash (`oldsash`) only
includes the x coordinate. When we need to access the y coordinate via
the recorded sash position, we generate the following Application Error
popup:

Error: expected integer but got ""

expected integer but got ""

expected integer but got ""

     while executing

"$win sash place 0 $sash0 [lindex $s0 1]"

     (procedure "resizeclistpanes" line 38)

     invoked from within

"resizeclistpanes .tf.histframe.pwclist 2818"

     (command bound to event)

To fix this, if we are not using ttk, we append the sash positions with
the y coordinates before recording them to match the use_ttk case.

Signed-off-by: Halil Sen <halil.sen@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
This commit is contained in:
halilsen 2022-02-20 19:47:36 +00:00 committed by Paul Mackerras
parent 1f6b196665
commit 465f03869a

3
gitk
View File

@ -2991,6 +2991,8 @@ proc resizeclistpanes {win w} {
} else { } else {
$win sash place 0 $sash0 [lindex $s0 1] $win sash place 0 $sash0 [lindex $s0 1]
$win sash place 1 $sash1 [lindex $s1 1] $win sash place 1 $sash1 [lindex $s1 1]
set sash0 [list $sash0 [lindex $s0 1]]
set sash1 [list $sash1 [lindex $s1 1]]
} }
set oldsash($win) [list $sash0 $sash1] set oldsash($win) [list $sash0 $sash1]
} }
@ -3023,6 +3025,7 @@ proc resizecdetpanes {win w} {
$win sashpos 0 $sash0 $win sashpos 0 $sash0
} else { } else {
$win sash place 0 $sash0 [lindex $s0 1] $win sash place 0 $sash0 [lindex $s0 1]
set sash0 [list $sash0 [lindex $s0 1]]
} }
set oldsash($win) $sash0 set oldsash($win) $sash0
} }