Signed-off-by: Birger Skogeng Pedersen <birger...@gmail.com>
---
 git-gui.sh | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/git-gui.sh b/git-gui.sh
index fd476b6..b7f4d1e 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2669,25 +2669,31 @@ proc show_less_context {} {
 }
 
 proc focus_widget {widget} {
-       global file_lists last_clicked selected_paths
-       global file_lists_last_clicked
+       global file_lists
 
        if {[llength $file_lists($widget)] > 0} {
-               set path $file_lists_last_clicked($widget)
-               set index [lsearch -sorted -exact $file_lists($widget) $path]
-               if {$index < 0} {
-                       set index 0
-                       set path [lindex $file_lists($widget) $index]
-               }
-
+               select_path_in_widget $widget
                focus $widget
-               set last_clicked [list $widget [expr $index + 1]]
-               array unset selected_paths
-               set selected_paths($path) 1
-               show_diff $path $widget
        }
 }
 
+proc select_path_in_widget {widget} {
+       global file_lists last_clicked selected_paths
+       global file_lists_last_clicked
+
+       set path $file_lists_last_clicked($widget)
+       set index [lsearch -sorted -exact $file_lists($widget) $path]
+       if {$index < 0} {
+               set index 0
+               set path [lindex $file_lists($widget) $index]
+       }
+
+       set last_clicked [list $widget [expr $index + 1]]
+       array unset selected_paths
+       set selected_paths($path) 1
+       show_diff $path $widget
+}
+
 proc toggle_commit_type {} {
        global commit_type_is_amend
        set commit_type_is_amend [expr !$commit_type_is_amend]
-- 
2.23.0.windows.1

Reply via email to