rem: chunk = para->chunks; while(chunk) {
add: if (tPtr->findingClickPoint && tPtr->foundClickPoint) return 0;
context: putParagraphOnPixmap(Text *tPtr, Paragraph *para, Bool draw){    char bufr[MAX_WORD_LENGTH+1];  /* a single word + '\0' */    MyTextItems items[MAX_CHUNX+1];    short lmargin, spacepos, i, s, nitems, start;    LocalMargins m;    XPoint where;    Chunk *chunk;    if(!tPtr->view->flags.realized || !para) return 0;    where.x = 0, where.y =0, nitems = 0;    m.left =  WMGetRulerMargins(tPtr->ruler, WRulerDocLeft);    m.right = WMGetRulerMargins(tPtr->ruler, WRulerRight) - m.left;    m.first = para->fmargin, m.body = para->bmargin;    if(draw) {        W_Screen *screen = tPtr->view->screen;        if(para->drawbuffer)            XFreePixmap(screen->display, para->drawbuffer);        if(para->width<2*tPtr->dFont->height) para->width = 2*tPtr->dFont->height;        if(para->height<tPtr->dFont->height) para->height = tPtr->dFont->height;        para->drawbuffer = XCreatePixmap(screen->display,                                         tPtr->view->window, para->width, para->height, screen->depth);        XFillRectangle(screen->display, para->drawbuffer,                       WMColorGC(tPtr->bg), 0, 0, para->width, para->height);    }    //if(para->align != tPtr->dAlignment)    //	para->align = tPtr->dAlignment;    /* draw the bullet if appropriate */    if(m.body>m.first && !tPtr->monoFont) {        lmargin = m.body - m.first;        if(draw) {            if(para->bulletPix)                WMDrawPixmap(para->bulletPix, para->drawbuffer, lmargin-10, 5);            else                WMDrawPixmap(tPtr->dBulletPix, para->drawbuffer, lmargin-10, 5);        }        /* NeXT sez next tab, I say the m.body - m.first margin */    } else {        lmargin = WMAX(0, m.first - m.body);    }    if(tPtr->findingClickPoint && !para->chunks) {        tPtr->currentChunk = NULL;        tPtr->foundClickPoint = True;        tPtr->tpos = 0;        tPtr->clicked.x = lmargin;        tPtr->clicked.y = 5;        tPtr->clheight = para->height;        tPtr->clwidth = 0;        return 0;    }    chunk = para->chunks;    while(chunk) {        if(tPtr->findingClickPoint && tPtr->foundClickPoint) return 0;        if(chunk->type == ctImage && !tPtr->monoFont ) {            drawPChunkPart(tPtr, chunk, m, para, items, &nitems,                           &lmargin, &where, draw);        } else if(chunk->text && chunk->type == ctText) {            if(tPtr->wrapping == wrNone) {                drawTChunkPart(tPtr, chunk, chunk->text, m, para, items, &nitems,                               chunk->chars, 0, &lmargin, &where, draw, spacepos);            } else if(tPtr->wrapping == wrWord) {                spacepos=0, i=0, start=0;                while(spacepos < chunk->chars) {                    bufr[i] = chunk->text[spacepos];                    if( bufr[i] == ' ' || i >= MAX_WORD_LENGTH ) {                        if(bufr[i] == ' ') s=1; else s=0;                        drawTChunkPart(tPtr, chunk, bufr, m, para,                                       items, &nitems, i+s, start, &lmargin, &where,                                       draw, spacepos);                        start = spacepos+s;                        if(i > MAX_WORD_LENGTH-1)                            spacepos--;                        i=0;                    } else i++;                    spacepos++;                }                /* catch that last onery one. */                drawTChunkPart(tPtr, chunk, bufr, m, para,                               items, &nitems, i, start, &lmargin, &where, draw, spacepos);            } } chunk = chunk->next;    }    /* we might have a few leftover items that need drawing */    if(nitems >0) {        where.y += myDrawText(tPtr, para, items,                              nitems, m.right-m.left-lmargin, where.y, draw, spacepos);        if(tPtr->findingClickPoint && tPtr->foundClickPoint) return 0;    }    return where.y;}