Commit Diff


commit - 08ebd0a9f5d5a9edabba87ffcc06cb3552d3ed25
commit + 6e73b0d6716c86d47f3eca7813500dd1c7ff7f24
blob - e25786c706e17906e94edc3fa9e5fa0dd441e057
blob + dc9aba73a8c44eab31dea5bbf61c16609c29b090
--- tog/tog.c
+++ tog/tog.c
@@ -2312,21 +2312,21 @@ input_diff_view(struct tog_view **new_view, struct tog
 				break;
 			ls = &s->log_view->state.log;
 
-			if (ls->thread_args.commits_needed == 0) {
+			if (TAILQ_NEXT(ls->selected_entry, entry) == NULL) {
 				ls->thread_args.commits_needed++;
 
 				/* Display "loading..." in log view. */
 				show_log_view(s->log_view);
 				update_panels();
 				doupdate();
+
+				err = trigger_log_thread(1 /* load_all */,
+				    &ls->thread_args.commits_needed,
+				    &ls->thread_args.log_complete,
+				    &ls->thread_args.need_commits);
+				if (err)
+					break;
 			}
-			err = trigger_log_thread(1 /* load_all */,
-			    &ls->thread_args.commits_needed,
-			    &ls->thread_args.log_complete,
-			    &ls->thread_args.need_commits);
-			if (err)
-				break;
-
 			err = input_log_view(NULL, NULL, NULL, s->log_view,
 			    KEY_DOWN);
 			if (err)