diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c index 0feff6a02204f89dc81b6fbcfedb59b9d9a43258..5a7c98f897fcf81650e0878bc2128a002f4c770d 100644 --- a/src/uifc/uifc32.c +++ b/src/uifc/uifc32.c @@ -1944,6 +1944,7 @@ void showbuf(int mode, int left, int top, int width, int height, char *title, ch char inverse=0,high=0; char *textbuf; char *p; + char *oldp=NULL; int i,j,k,len; int lines; int pad=1; @@ -2122,7 +2123,10 @@ void showbuf(int mode, int left, int top, int width, int height, char *title, ch } else { while(i==0) { - puttext(left+1+pad,top+2+pad,left+width-2-pad,top+height-1-pad,p); + if(p!=oldp) { + puttext(left+1+pad,top+2+pad,left+width-2-pad,top+height-1-pad,p); + oldp=p; + } if(kbwait()) { j=inkey(); if(j==CIO_KEY_MOUSE) {