mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 06:59:33 +01:00 
			
		
		
		
	* fixed crash within donevideo (merged)
This commit is contained in:
		
							parent
							
								
									69b8e3ad44
								
							
						
					
					
						commit
						fb71f8969e
					
				@ -32,8 +32,13 @@ var
 | 
			
		||||
  ConsoleCursorInfo : TConsoleCursorInfo;
 | 
			
		||||
  MaxVideoBufSize : DWord;
 | 
			
		||||
 | 
			
		||||
const
 | 
			
		||||
  VideoInitialized : boolean = false;
 | 
			
		||||
 | 
			
		||||
procedure InitVideo;
 | 
			
		||||
begin
 | 
			
		||||
  if VideoInitialized then
 | 
			
		||||
    DoneVideo;
 | 
			
		||||
  ScreenColor:=true;
 | 
			
		||||
  GetConsoleScreenBufferInfo(TextRec(Output).Handle, ConsoleInfo);
 | 
			
		||||
  GetConsoleCursorInfo(TextRec(Output).Handle, ConsoleCursorInfo);
 | 
			
		||||
@ -73,19 +78,20 @@ begin
 | 
			
		||||
 | 
			
		||||
  GetMem(VideoBuf,MaxVideoBufSize);
 | 
			
		||||
  GetMem(OldVideoBuf,MaxVideoBufSize);
 | 
			
		||||
 | 
			
		||||
  {ClearScreen; not needed PM }
 | 
			
		||||
  VideoInitialized:=true;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
procedure DoneVideo;
 | 
			
		||||
begin
 | 
			
		||||
  { ClearScreen; also not needed PM }
 | 
			
		||||
  SetCursorType(crUnderLine);
 | 
			
		||||
  { SetCursorPos(0,0); also not needed PM }
 | 
			
		||||
  FreeMem(VideoBuf,MaxVideoBufSize);
 | 
			
		||||
  FreeMem(OldVideoBuf,MaxVideoBufSize);
 | 
			
		||||
  if VideoInitialized then
 | 
			
		||||
    begin
 | 
			
		||||
      FreeMem(VideoBuf,MaxVideoBufSize);
 | 
			
		||||
      FreeMem(OldVideoBuf,MaxVideoBufSize);
 | 
			
		||||
    end;
 | 
			
		||||
  VideoBufSize:=0;
 | 
			
		||||
  VideoInitialized:=false;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -352,7 +358,10 @@ finalization
 | 
			
		||||
end.
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.2  2001-04-10 21:28:36  peter
 | 
			
		||||
  Revision 1.3  2001-06-13 18:32:55  peter
 | 
			
		||||
    * fixed crash within donevideo (merged)
 | 
			
		||||
 | 
			
		||||
  Revision 1.2  2001/04/10 21:28:36  peter
 | 
			
		||||
    * removed warnigns
 | 
			
		||||
 | 
			
		||||
  Revision 1.1  2001/01/13 11:03:59  peter
 | 
			
		||||
 | 
			
		||||
@ -1003,7 +1003,7 @@ function DdeDisconnectList(_para1:HCONVLIST):BOOL;external 'user32' name 'DdeDis
 | 
			
		||||
function DdeEnableCallback(_para1:DWORD; _para2:HCONV; _para3:UINT):BOOL;external 'user32' name 'DdeEnableCallback';
 | 
			
		||||
function DdeFreeDataHandle(_para1:HDDEDATA):WINBOOL; external 'user32' name 'DdeFreeDataHandle';
 | 
			
		||||
function DdeFreeStringHandle(_para1:DWORD;_para2:HSZ):WINBOOL; external 'user32' name 'DdeFreeStringHandle';
 | 
			
		||||
function DdeGetData(_para1:HDDEDATA; var _para2:BYTE; _para3:DWORD; _para4:DWORD):DWORD; external 'user32' name 'DdeGetData';
 | 
			
		||||
function DdeGetData(_para1:HDDEDATA;_para2:LPBYTE; _para3:DWORD; _para4:DWORD):DWORD; external 'user32' name 'DdeGetData';
 | 
			
		||||
function DdeGetLastError(_para1:DWORD):UINT; external 'user32' name 'DdeGetLastError';
 | 
			
		||||
function DdeImpersonateClient(_para1:HCONV):BOOL;external 'user32' name 'DdeImpersonateClient';
 | 
			
		||||
function DdeKeepStringHandle(_para1:DWORD; _para2:HSZ):BOOL;external 'user32' name 'DdeKeepStringHandle';
 | 
			
		||||
@ -2226,7 +2226,10 @@ end;
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.4  2001-02-09 23:08:31  peter
 | 
			
		||||
  Revision 1.5  2001-06-13 18:32:55  peter
 | 
			
		||||
    * fixed crash within donevideo (merged)
 | 
			
		||||
 | 
			
		||||
  Revision 1.4  2001/02/09 23:08:31  peter
 | 
			
		||||
    * fixed bugs 1398,1399,1400
 | 
			
		||||
 | 
			
		||||
  Revision 1.3  2001/02/02 20:53:18  peter
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user