git-gui: fix exception when trying to stage with empty file list
If there is nothing to stage, there is nothing to stage. Let's not try
to, even if the file list contains nothing at all.
This fixes https://github.com/git-for-windows/git/issues/1075
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/git-gui.sh b/git-gui.sh
index 3ce2e04..b3c14ac 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2505,7 +2505,9 @@
if {$last_clicked ne {}} {
set lno [lindex $last_clicked 1]
} else {
- if {[llength $file_lists($w)] == 0} {
+ if {![info exists file_lists]
+ || ![info exists file_lists($w)]
+ || [llength $file_lists($w)] == 0} {
set last_clicked {}
return
}
@@ -2519,7 +2521,13 @@
}
}
- set path [lindex $file_lists($w) [expr {$lno - 1}]]
+ if {![info exists file_lists]
+ || ![info exists file_lists($w)]
+ || [llength $file_lists($w)] < $lno - 1} {
+ set path {}
+ } else {
+ set path [lindex $file_lists($w) [expr {$lno - 1}]]
+ }
if {$path eq {}} {
set last_clicked {}
return