git-gui: Use catch rather than array names to check file.
[gitweb.git] / git-gui
diff --git a/git-gui b/git-gui
index 2c4e97236b13c4f88532d75b8e086f53025afbee..e16fcf7346165a9646de1262ac5a75b3fcbf706b 100755 (executable)
--- a/git-gui
+++ b/git-gui
@@ -350,11 +350,11 @@ proc clear_diff {} {
 proc reshow_diff {} {
        global ui_fname_value ui_status_value file_states
 
-       if {$ui_fname_value != {} && [array names file_states \
-               -exact $ui_fname_value] != {}}  {
-               show_diff $ui_fname_value
-       } else {
+       if {$ui_fname_value == {}
+               || [catch {set s $file_states($ui_fname_value)}]} {
                clear_diff
+       } else {
+               show_diff $ui_fname_value
        }
 }