vgabios: Fix preserve memory flag in handle_1000

Commit 5108c69c made a change to the ordering of some code which broke
the check for the MF_NOCLEARMEM flag.

Reported by felix.von.s@posteo.de

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2020-07-13 18:50:52 -04:00
parent 88ab0c1552
commit 6ada2285d9
1 changed files with 3 additions and 4 deletions

View File

@ -336,6 +336,9 @@ static void
handle_1000(struct bregs *regs)
{
int mode = regs->al & 0x7f;
int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM));
if (regs->al & 0x80)
flags |= MF_NOCLEARMEM;
// Set regs->al
if (mode > 7)
@ -345,10 +348,6 @@ handle_1000(struct bregs *regs)
else
regs->al = 0x30;
int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM));
if (regs->al & 0x80)
flags |= MF_NOCLEARMEM;
vga_set_mode(mode, flags);
}