cgit

commit 31665579c2779669c0cc56b8eb63f162b7e165df

Author: Lars Hjemli <hjemli@gmail.com>

Merge branch 'stable'

 cgit.c | 1 -
 ui-shared.c | 7 ++++++-


diff --git a/cgit.c b/cgit.c
index d1cee580cd6fe064993da8bd04acdf9f3325042b..f35f6059e1531ad6408b3ec3d638be81643bed58 100644
--- a/cgit.c
+++ b/cgit.c
@@ -293,7 +293,6 @@
 	cmd = cgit_get_cmd(ctx);
 	if (!cmd) {
 		ctx->page.title = "cgit error";
-		ctx->repo = NULL;
 		cgit_print_http_headers(ctx);
 		cgit_print_docstart(ctx);
 		cgit_print_pageheader(ctx);




diff --git a/ui-shared.c b/ui-shared.c
index 95dfeb443e7b41ad2bf438a93396bc90adebc38e..fba1ba6dba56a4eab7381c1cbf0065a2c641fefa 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -587,14 +587,19 @@ 			html_hidden("q", ctx.qry.search);
 	}
 }
 
+const char *fallback_cmd = "repolist";
+
 char *hc(struct cgit_cmd *cmd, const char *page)
 {
-	return (strcmp(cmd->name, page) ? NULL : "active");
+	return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active");
 }
 
 void cgit_print_pageheader(struct cgit_context *ctx)
 {
 	struct cgit_cmd *cmd = cgit_get_cmd(ctx);
+
+	if (!cmd && ctx->repo)
+		fallback_cmd = "summary";
 
 	html("<table id='header'>\n");
 	html("<tr>\n");