-rw-r--r-- | ui-shared.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ui-shared.c b/ui-shared.c index 224e5f3..76cd00d 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -564,41 +564,46 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page) | |||
564 | strcmp(ctx.qry.head, ctx.repo->defbranch)) | 564 | strcmp(ctx.qry.head, ctx.repo->defbranch)) |
565 | html_hidden("h", ctx.qry.head); | 565 | html_hidden("h", ctx.qry.head); |
566 | 566 | ||
567 | if (ctx.qry.sha1) | 567 | if (ctx.qry.sha1) |
568 | html_hidden("id", ctx.qry.sha1); | 568 | html_hidden("id", ctx.qry.sha1); |
569 | if (ctx.qry.sha2) | 569 | if (ctx.qry.sha2) |
570 | html_hidden("id2", ctx.qry.sha2); | 570 | html_hidden("id2", ctx.qry.sha2); |
571 | 571 | ||
572 | if (incl_search) { | 572 | if (incl_search) { |
573 | if (ctx.qry.grep) | 573 | if (ctx.qry.grep) |
574 | html_hidden("qt", ctx.qry.grep); | 574 | html_hidden("qt", ctx.qry.grep); |
575 | if (ctx.qry.search) | 575 | if (ctx.qry.search) |
576 | html_hidden("q", ctx.qry.search); | 576 | html_hidden("q", ctx.qry.search); |
577 | } | 577 | } |
578 | } | 578 | } |
579 | 579 | ||
580 | const char *fallback_cmd = "repolist"; | ||
581 | |||
580 | char *hc(struct cgit_cmd *cmd, const char *page) | 582 | char *hc(struct cgit_cmd *cmd, const char *page) |
581 | { | 583 | { |
582 | return (strcmp(cmd->name, page) ? NULL : "active"); | 584 | return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active"); |
583 | } | 585 | } |
584 | 586 | ||
585 | void cgit_print_pageheader(struct cgit_context *ctx) | 587 | void cgit_print_pageheader(struct cgit_context *ctx) |
586 | { | 588 | { |
587 | struct cgit_cmd *cmd = cgit_get_cmd(ctx); | 589 | struct cgit_cmd *cmd = cgit_get_cmd(ctx); |
588 | 590 | ||
591 | if (!cmd && ctx->repo) | ||
592 | fallback_cmd = "summary"; | ||
593 | |||
589 | html("<table id='header'>\n"); | 594 | html("<table id='header'>\n"); |
590 | html("<tr>\n"); | 595 | html("<tr>\n"); |
591 | html("<td class='logo' rowspan='2'><a href='"); | 596 | html("<td class='logo' rowspan='2'><a href='"); |
592 | if (ctx->cfg.logo_link) | 597 | if (ctx->cfg.logo_link) |
593 | html_attr(ctx->cfg.logo_link); | 598 | html_attr(ctx->cfg.logo_link); |
594 | else | 599 | else |
595 | html_attr(cgit_rooturl()); | 600 | html_attr(cgit_rooturl()); |
596 | html("'><img src='"); | 601 | html("'><img src='"); |
597 | html_attr(ctx->cfg.logo); | 602 | html_attr(ctx->cfg.logo); |
598 | html("' alt='cgit logo'/></a></td>\n"); | 603 | html("' alt='cgit logo'/></a></td>\n"); |
599 | 604 | ||
600 | html("<td class='main'>"); | 605 | html("<td class='main'>"); |
601 | if (ctx->repo) { | 606 | if (ctx->repo) { |
602 | cgit_index_link("index", NULL, NULL, NULL, 0); | 607 | cgit_index_link("index", NULL, NULL, NULL, 0); |
603 | html(" : "); | 608 | html(" : "); |
604 | cgit_summary_link(ctx->repo->name, ctx->repo->name, NULL, NULL); | 609 | cgit_summary_link(ctx->repo->name, ctx->repo->name, NULL, NULL); |