]> gitweb.ps.run Git - ps-cgit/commitdiff
Merge branch 'stable'
authorLars Hjemli <hjemli@gmail.com>
Sun, 11 Jan 2009 21:00:25 +0000 (22:00 +0100)
committerLars Hjemli <hjemli@gmail.com>
Sun, 11 Jan 2009 21:00:25 +0000 (22:00 +0100)
cgit.c
ui-shared.c

diff --git a/cgit.c b/cgit.c
index d1cee580cd6fe064993da8bd04acdf9f3325042b..f35f6059e1531ad6408b3ec3d638be81643bed58 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -293,7 +293,6 @@ static void process_request(void *cbdata)
        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);
index 95dfeb443e7b41ad2bf438a93396bc90adebc38e..fba1ba6dba56a4eab7381c1cbf0065a2c641fefa 100644 (file)
@@ -587,15 +587,20 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page)
        }
 }
 
+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");
        html("<td class='logo' rowspan='2'><a href='");