cgit

commit 7fdff2460440c09d13fc76af3b75e85434e6f563

Author: Johan Herland <johan@herland.net>

ui-shared: Preserve path limit in "tab bar" links

When using the "tab bar" in the pageheader to navigate between pages, any
path limit in effect on the current page is forgotten in the link to the
target page, even if the target page can interpret and use the path limit
constructively.

Instead, preserve the current page's path limit in the "tab bar" links to
other pages, where the path limit is useful to the target page.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>

 ui-shared.c | 11 ++++++-----


diff --git a/ui-shared.c b/ui-shared.c
index 372b9e7758b016c4f1420aade0e5a31b2a4c982a..e9917993fb2d4181bf3adb6ff4c01dea0cb52f26 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -790,16 +790,17 @@ 				  ctx->qry.head);
 		cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head,
 			       ctx->qry.sha1, NULL);
 		cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head,
-			      NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg);
+			      NULL, ctx->qry.vpath, 0, NULL, NULL,
+			      ctx->qry.showmsg);
 		cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head,
-			       ctx->qry.sha1, NULL);
+			       ctx->qry.sha1, ctx->qry.vpath);
 		cgit_commit_link("commit", NULL, hc(ctx, "commit"),
-				 ctx->qry.head, ctx->qry.sha1, NULL, 0);
+				 ctx->qry.head, ctx->qry.sha1, ctx->qry.vpath, 0);
 		cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head,
-			       ctx->qry.sha1, ctx->qry.sha2, NULL, 0);
+			       ctx->qry.sha1, ctx->qry.sha2, ctx->qry.vpath, 0);
 		if (ctx->repo->max_stats)
 			cgit_stats_link("stats", NULL, hc(ctx, "stats"),
-					ctx->qry.head, NULL);
+					ctx->qry.head, ctx->qry.vpath);
 		if (ctx->repo->readme)
 			reporevlink("about", "about", NULL,
 				    hc(ctx, "about"), ctx->qry.head, NULL,