summary refs log tree commit diff
path: root/ui-shared.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/ui-shared.c b/ui-shared.c
index c0710fa..f0ee3ee 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -320,12 +320,10 @@ static void reporevlink(const char *page, const char *name, const char *title,
 {
 	char *delim;
 
-	if (!strcmp(page
-	            ? page
-	            : "",
-	            ctx.repo
-	            ? ctx.repo->default_tab
-	            : ctx.cfg.root_default_tab))
+	if (page
+	    && !rev
+	    && !path
+	    && !strcmp(page, ctx.repo->default_tab))
 		page = NULL;
 
 	delim = repolink(title, class, page, head, path);
@@ -349,7 +347,13 @@ void cgit_repo_link(const char *name, const char *title, const char *class,
 void cgit_summary_link(const char *name, const char *title, const char *class,
 		       const char *head)
 {
-	reporevlink("summary", name, title, class, head, NULL, NULL);
+	if (!strcmp("summary",
+	            ctx.repo
+	            ? ctx.repo->default_tab
+	            : ctx.cfg.default_tab))
+	    reporevlink(NULL, name, title, class, head, NULL, NULL);
+	else
+	    reporevlink("summary", name, title, class, head, NULL, NULL);
 }
 
 void cgit_tag_link(const char *name, const char *title, const char *class,