﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
479	Bug in restoring VBE state in ACPIDAEMON.EXE	Lars Erdmann	eco	"file daemon\screen.c, routine ""RestoreVideo"":

the buffer type on the VBE call to restore state should be ""INPUT_BUFFER"" and not ""OUTPUT_BUFFER"".
That will also render obsolete the attempt to set the memory attributes of pBuffer via DosSetMem:

{{{
   intcrf.pB[0].bBufferType = INPUT_BUFFER; <---- change here !!!!
   intcrf.pB[1].bBufferType = BUFFER_NONE;
   intcrf.pB[0].bSelCRF     = 8;
   intcrf.pB[0].bOffCRF     = 1;
   intcrf.pB[0].pAddress    = pBuffer;
   intcrf.pB[0].ulSize      = StateSize;
   intcrf.aCRF.reg_eax      = 0x4f04;
   intcrf.aCRF.reg_edx      = 0x02; // restore state
   intcrf.aCRF.reg_ecx      = ApmCfg.VBESave;
   intcrf.ulBIOSIntNo       = 0x10;
   rc = DosSysCtl(INT10_MINIVDM_CALL, &intcrf);
}}}
"	defect	closed	major		Daemon	3.17	fixed		
