From f996cef478b09ccd0bb49e3742185dbab402b062 Mon Sep 17 00:00:00 2001 From: Julian Langschaedel Date: Tue, 15 Jan 2013 20:44:59 +0100 Subject: [PATCH] Main view: fix diff view display for staged/unstaged changes Shows actual diff of stage/unstaged state instead of just a blank diff with "[diff] 0000000000000000000000000000000000000000" in the status bar. [ Set flags depending on whether the diff view is requested ] Signed-off-by: Jonas Fonseca --- tig.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tig.c b/tig.c index 368e3e69c..852767c3e 100644 --- a/tig.c +++ b/tig.c @@ -7359,7 +7359,8 @@ main_read(struct view *view, char *line) static enum request main_request(struct view *view, enum request request, struct line *line) { - enum open_flags flags = view_is_displayed(view) ? OPEN_SPLIT : OPEN_DEFAULT; + enum open_flags flags = (view_is_displayed(view) && request != REQ_VIEW_DIFF) + ? OPEN_SPLIT : OPEN_DEFAULT; switch (request) { case REQ_NEXT: @@ -7371,6 +7372,7 @@ main_request(struct view *view, enum request request, struct line *line) move_view(view, request); break; + case REQ_VIEW_DIFF: case REQ_ENTER: if (view_is_displayed(view) && display[0] != view) maximize_view(view, TRUE); @@ -7397,6 +7399,7 @@ main_request(struct view *view, enum request request, struct line *line) open_view(view, REQ_VIEW_DIFF, flags); break; + case REQ_REFRESH: load_refs(); refresh_view(view);