commit - 0553a4e327ba2ad58f38556354f97c8029888f78
commit + d0f709cb2b2e9e322fdb2624281ddc24eb820f00
blob - 6db8041962c3853a56ab07eb07ae195c6a807b9d
blob + 576dc0097ce8947664ae7a0d9696d263699d4d6d
--- tog/tog.c
+++ tog/tog.c
show_log_view(struct got_object_id *start_id, struct got_repository *repo)
{
const struct got_error *err = NULL;
- struct got_object *obj;
+ struct got_object *obj = NULL;
int ch, done = 0, selected = 0, refetch_commits = 1;
struct got_object_id *id = start_id;
struct commit_queue commits;
if (refetch_commits) {
free_commits(&commits);
err = fetch_commits(&commits, obj, id, repo, LINES);
- if (err)
- return err;
- refetch_commits = 0;
+ refetch_commits = 0;
+ got_object_close(obj);
+ obj = NULL;
+ if (err)
+ goto done;
}
err = draw_commits(&commits, selected);
if (err)
- return err;
+ goto done;
nodelay(stdscr, FALSE);
ch = wgetch(tog_log_view.window);
} while (!done);
done:
free_commits(&commits);
- got_object_close(obj);
+ if (obj)
+ got_object_close(obj);
return err;
}