rem: if(w == tPtr->vscroller) { float vmax; int height; vmax = (float)(tPtr->docHeight); height = tPtr->visibleH; if(height>7) height -= 7;
add: if (w == tPtr->vscroller) { float vmax; int height;
context: scrollersCallBack(WMWidget *w, void *self){    Text *tPtr = (Text *)self;    Bool scroll = False;    Bool dimple = False;    if(!tPtr->view->flags.realized) return;    if(w == tPtr->vscroller) {        float vmax;        int height;        vmax = (float)(tPtr->docHeight);        height = tPtr->visibleH;        if(height>7)            height -= 7; /* the top border (5) + bottom (2) */        switch(WMGetScrollerHitPart(tPtr->vscroller)) {        case WSDecrementLine:            if(tPtr->vpos > 0) {                if(tPtr->vpos>16) tPtr->vpos-=16;                else tPtr->vpos=0;                scroll=True;            }break;        case WSIncrementLine: {            int limit = tPtr->docHeight - height;            if(tPtr->vpos < limit) {                if(tPtr->vpos<limit-16) tPtr->vpos+=16;                else tPtr->vpos=limit;                scroll = True;            }}break;        case WSDecrementPage:            tPtr->vpos -= height;            if(tPtr->vpos < 0)                tPtr->vpos = 0;            dimple = True;            scroll = True;            printf("dimple needs to jump to mouse location ;-/\n");            break;        case WSIncrementPage:            tPtr->vpos += height;            if(tPtr->vpos > (tPtr->docHeight - height))                tPtr->vpos = tPtr->docHeight - height;            dimple = True;            scroll = True;            printf("dimple needs to jump to mouse location ;-/\n");            break;        case WSKnob:            tPtr->vpos = WMGetScrollerValue(tPtr->vscroller)                * (float)(tPtr->docHeight - height);            scroll = True;            break;#if 0        case WSKnobSlot:        case WSNoPart:            float vmax = (float)(tPtr->docHeight);            ((float)tPtr->vpos)/(vmax - (float)tPtr->visibleH),                (float)tPtr->visibleH/vmax);dimple =where mouse is.#endifbreak;}scroll = (tPtr->vpos != tPtr->prevVpos);tPtr->prevVpos = tPtr->vpos;}if(w == tPtr->hscroller)    ;//need scrollv  || scrollhif(scroll) {    /*     if(0&&dimple) {     if(tPtr->rulerShown)     XClearArea(tPtr->view->screen->display, tPtr->view->window, 22, 47,     tPtr->view->size.width-24, tPtr->view->size.height-49, True);     else     XClearArea(tPtr->view->screen->display, tPtr->view->window, 22, 2,     tPtr->view->size.width-24, tPtr->view->size.height-4, True);     }     */    updateScrollers(tPtr);    drawDocumentPartsOnPixmap(tPtr, False);    paintText(tPtr);}}