From 2b7330765aeb322017516ef50f9343cbdda07a95 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 26 Sep 2012 18:28:10 +0200 Subject: [PATCH] mothra: dont make all images into links (only in mothmode) --- sys/src/cmd/mothra/mothra.c | 27 ++++++++++++++++++--------- sys/src/cmd/mothra/rdhtml.c | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/sys/src/cmd/mothra/mothra.c b/sys/src/cmd/mothra/mothra.c index 17306d550..f7206bfd7 100644 --- a/sys/src/cmd/mothra/mothra.c +++ b/sys/src/cmd/mothra/mothra.c @@ -718,17 +718,19 @@ void dolink(Panel *p, int buttons, Rtext *word){ Action *a; a=word->user; - if(a == nil || a->image == nil && a->link == nil) + if(a == nil || (a->link == nil && a->image == nil)) return; if(mothmode) hiturl(buttons, a->image ? a->image : a->link, 0); - else if(a->ismap){ - yoffs=plgetpostextview(p); - coord=subpt(subpt(mouse.xy, word->r.min), p->r.min); - snprint(mapurl, sizeof(mapurl), "%s?%d,%d", a->link, coord.x, coord.y+yoffs); - hiturl(buttons, mapurl, 1); - } else - hiturl(buttons, a->link ? a->link : a->image, 0); + else if(a->link){ + if(a->ismap){ + yoffs=plgetpostextview(p); + coord=subpt(subpt(mouse.xy, word->r.min), p->r.min); + snprint(mapurl, sizeof(mapurl), "%s?%d,%d", a->link, coord.x, coord.y+yoffs); + hiturl(buttons, mapurl, 1); + } else + hiturl(buttons, a->link, 0); + } } void filter(char *cmd, int fd){ @@ -982,8 +984,15 @@ mothon(Www *w, int on) */ for(t=w->text;t;t=t->next){ a=t->user; - if(a == nil || a->image == nil || a->link == nil) + if(a == nil || a->image == nil) + continue; + if(a->link == nil){ + if(on) + t->flags |= PL_HOT; + else + t->flags &= ~PL_HOT; continue; + } x = t->next; if(on){ t->next = nil; diff --git a/sys/src/cmd/mothra/rdhtml.c b/sys/src/cmd/mothra/rdhtml.c index 8405244a1..bf7a5ee00 100644 --- a/sys/src/cmd/mothra/rdhtml.c +++ b/sys/src/cmd/mothra/rdhtml.c @@ -144,7 +144,7 @@ void pl_htmloutput(Hglob *g, int nsp, char *s, Field *field){ } } plrtstr(&g->dst->text, space, indent, f->font, strdup(s), - (g->state->link[0] || g->state->image[0]) ? PL_HOT : 0, ap); + g->state->link[0] ? PL_HOT : 0, ap); g->para=0; g->linebrk=0; g->dst->changed=1; -- 2.44.0