From 2df4ad3de201d23b85023571b4d1028b3b5be6f3 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Sat, 28 Dec 2002 13:24:23 +0000 Subject: [PATCH] Fix bug with sierra installer's using scroll to clear areas of the screen. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@607 --- src/ints/int10_char.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ints/int10_char.cpp b/src/ints/int10_char.cpp index 82449517..a6842874 100644 --- a/src/ints/int10_char.cpp +++ b/src/ints/int10_char.cpp @@ -111,6 +111,7 @@ void INT10_ScrollWindow(Bit8u rul,Bit8u cul,Bit8u rlr,Bit8u clr,Bit8s nlines,Bit if(rlr>=nrows) rlr=(Bit8u)nrows-1; if(clr>=ncols) clr=(Bit8u)ncols-1; clr++; + /* Get the correct page */ if(page==0xFF) page=real_readb(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE); VGAMODES * curmode=GetCurrentMode(); @@ -131,7 +132,7 @@ void INT10_ScrollWindow(Bit8u rul,Bit8u cul,Bit8u rlr,Bit8u clr,Bit8s nlines,Bit nlines=rlr-rul+1; goto filling; } - do { + while (start!=end) { start+=next; switch (curmode->memmodel) { case MTEXT: @@ -142,7 +143,7 @@ void INT10_ScrollWindow(Bit8u rul,Bit8u cul,Bit8u rlr,Bit8u clr,Bit8s nlines,Bit case PLANAR4: PLANAR4_CopyRow(curmode,cul,clr,start,start+nlines,base);break; } - } while (start!=end); + } /* Fill some lines */ filling: if (nlines>0) {