summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-gui.sh12
1 files changed, 10 insertions, 2 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 3ce2e04bc5..b3c14acbdf 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2505,7 +2505,9 @@ proc toggle_or_diff {mode w args} {
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 @@ proc toggle_or_diff {mode w args} {
}
}
- 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