rem: if(!tb->sections)
add: if(!tb->sections) {
context: updateStartForCurrentTextBlock(Text *tPtr, int x, int y, int *dir, TextBlock *tb){    if (tPtr->flags.monoFont && tb->graphic) {        tb = getFirstNonGraphicBlockFor(tb, *dir);        if(!tb)            return 0;        if (tb->graphic) {            tPtr->currentTextBlock =                 (dir? tPtr->lastTextBlock : tPtr->firstTextBlock);            tPtr->tpos = 0;            return 0;        }    }      if(!tb->sections)      layOutDocument(tPtr);    if(!tb->sections)       return 0;    *dir = !(y <= tb->sections[0].y);    if(*dir) {         if ( ( y <= tb->sections[0]._y + tb->sections[0].h )            && (y >= tb->sections[0]._y ) ) {            /* if it's on the same line */            if(x < tb->sections[0].x)                  *dir = 0;        }    } else {         if ( ( y <= tb->sections[tb->nsections-1]._y                 + tb->sections[tb->nsections-1].h )            && (y >= tb->sections[tb->nsections-1]._y ) ) {            /* if it's on the same line */            if(x > tb->sections[tb->nsections-1].x)                  *dir = 1;        }    }    return 1;}