git-gui: avoid an error message when removing the last remote

When the last remote is removed on a system that has tearoff menu items the code that adjusts the fetch and prune menus may raise an error when probing the menu entry for a non-existing -label option. Check the entry type to avoid this fault. Reported-by: Vedran Miletić <rivanvx@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

Pat Thoyts committed Jun 15, 2013 at 23:36 UTC 5c37033edf7963616038ff8b980047d5671e168e
1 file changed +4 -2
lib/remote.tcl
+4 -2
@@ -245,7 +245,8 @@ proc update_all_remotes_menu_entry {} {
245 set prune_m $remote_m.prune
246 if {$have_remote > 1} {
247 make_sure_remote_submenues_exist $remote_m
248 - if {[$fetch_m entrycget end -label] ne "All"} {
248 + if {[$fetch_m type end] eq "command" \
249 + && [$fetch_m entrycget end -label] ne "All"} {
250
251 $fetch_m insert end separator
252 $fetch_m insert end command \
@@ -259,7 +260,8 @@ proc update_all_remotes_menu_entry {} {
260 }
261 } else {
262 if {[winfo exists $fetch_m]} {
262 - if {[$fetch_m entrycget end -label] eq "All"} {
263 + if {[$fetch_m type end] eq "command" \
264 + && [$fetch_m entrycget end -label] eq "All"} {
265
266 delete_from_menu $fetch_m end
267 delete_from_menu $fetch_m end