rem: ofs = 2 + bsize+1;
add: ofs = 2 + BUTTON_SIZE+1;
context: paintArrow(WMScroller *sPtr, Drawable d, int part)/* * part- 0 paints the decrement arrow, 1 the increment arrow */{    WMView *view = sPtr->view;    WMScreen *scr = view->screen;    int ofs, bsize;    W_Pixmap *arrow;#ifndef DOUBLE_BUFFER    GC gc = scr->lightGC;#endif        bsize = SCROLLER_WIDTH - 4;    if (part == 0) { /* decrement button */	if (sPtr->flags.horizontal) {	    if (sPtr->flags.arrowsPosition == WSAMaxEnd) {		ofs = view->size.width - 2*(bsize+1) - 1;	    } else {		ofs = 2;	    }	    if (sPtr->flags.decrDown)		arrow = scr->hiLeftArrow;	    else		arrow = scr->leftArrow;	    	} else {	    if (sPtr->flags.arrowsPosition == WSAMaxEnd) {		ofs = view->size.height - 2*(bsize+1) - 1;	    } else {		ofs = 2;	    }	    if (sPtr->flags.decrDown)		arrow = scr->hiUpArrow;	    else		arrow = scr->upArrow;	}	    #ifndef DOUBLE_BUFFER	if (sPtr->flags.decrDown)	    gc = WMColorGC(scr->white);#endif    } else { /* increment button */	if (sPtr->flags.horizontal) {	    if (sPtr->flags.arrowsPosition == WSAMaxEnd) {		ofs = view->size.width - bsize+1 - 3;	    } else {		ofs = 2 + bsize+1;	    }	    if (sPtr->flags.incrDown)		arrow = scr->hiRightArrow;	    else		arrow = scr->rightArrow;	} else {	    if (sPtr->flags.arrowsPosition == WSAMaxEnd) {		ofs = view->size.height - bsize+1 - 3;	    } else {		ofs = 2 + bsize+1;	    }	    if (sPtr->flags.incrDown)		arrow = scr->hiDownArrow;	    else		arrow = scr->downArrow;	}	#ifndef DOUBLE_BUFFER	if (sPtr->flags.incrDown)	    gc = scr->whiteGC;#endif    }    	    if (sPtr->flags.horizontal) {	    	/* paint button */#ifndef DOUBLE_BUFFER	XFillRectangle(scr->display, d, gc,		       ofs+1, 2+1, bsize+1-3, bsize-3);#else	if ((!part&&sPtr->flags.decrDown) || (part&&sPtr->flags.incrDown))	    XFillRectangle(scr->display, d, WMColorGC(scr->white),			   ofs+1, 2+1, bsize+1-3, bsize-3);#endif /* DOUBLE_BUFFER */	W_DrawRelief(scr, d, ofs, 2, bsize, bsize, WRRaised);		/* paint arrow */	XSetClipMask(scr->display, scr->clipGC, arrow->mask);	XSetClipOrigin(scr->display, scr->clipGC,		       ofs + (bsize - arrow->width) / 2, 		       2 + (bsize - arrow->height) / 2);		XCopyArea(scr->display, arrow->pixmap, d, scr->clipGC,		  0, 0, arrow->width, arrow->height,		  ofs + (bsize - arrow->width) / 2, 		  2 + (bsize - arrow->height) / 2);	    } else { /* vertical */		/* paint button */#ifndef DOUBLE_BUFFER	XFillRectangle(scr->display, d, gc,		       2+1, ofs+1, bsize-3, bsize+1-3);#else	if ((!part&&sPtr->flags.decrDown) || (part&&sPtr->flags.incrDown))	    XFillRectangle(scr->display, d, WMColorGC(scr->white),			   2+1, ofs+1, bsize-3, bsize+1-3);#endif /* DOUBLE_BUFFER */	W_DrawRelief(scr, d, 2, ofs, bsize, bsize, WRRaised);		/* paint arrow */		XSetClipMask(scr->display, scr->clipGC, arrow->mask);	XSetClipOrigin(scr->display, scr->clipGC, 		       2 + (bsize - arrow->width) / 2, 		       ofs + (bsize - arrow->height) / 2);	XCopyArea(scr->display, arrow->pixmap, d, scr->clipGC,		  0, 0, arrow->width, arrow->height,		  2 + (bsize - arrow->width) / 2, 		  ofs + (bsize - arrow->height) / 2);    }}    