Commit Diff


commit - 2246482eaf5f2c63df9af5b3436312be16907a56
commit + f801134ab05aac22aad8df04dc32782800b4c073
blob - 77aba92b932766d94d94f684e5085155417a8a6f
blob + 77bc11afd6ab46efb43cde4a25a9a59c3bdec210
--- tog/tog.c
+++ tog/tog.c
@@ -1764,23 +1764,16 @@ search_next_log_view(struct tog_view *view)
 
 	while (1) {
 		if (entry == NULL) {
-			if (s->thread_args.log_complete) {
-				if (s->matched_entry == NULL) {
-					view->search_next_done = 1;
-					return NULL;
-				}
-				if (view->searching == TOG_SEARCH_FORWARD)
-					entry = TAILQ_FIRST(&s->commits.head);
-				else
-					entry = TAILQ_LAST(&s->commits.head,
-					    commit_queue_head);
-			} else {
-				s->thread_args.commits_needed = 1;
-				return trigger_log_thread(0,
-				    &s->thread_args.commits_needed,
-				    &s->thread_args.log_complete,
-				    &s->thread_args.need_commits);
+			if (s->thread_args.log_complete ||
+			    view->searching == TOG_SEARCH_BACKWARD) {
+				view->search_next_done = 1;
+				return NULL;
 			}
+			s->thread_args.commits_needed = 1;
+			return trigger_log_thread(0,
+			    &s->thread_args.commits_needed,
+			    &s->thread_args.log_complete,
+			    &s->thread_args.need_commits);
 		}
 
 		if (match_commit(entry->commit, &view->regex)) {