diff --git a/rtl/inc/video.inc b/rtl/inc/video.inc index b2eb712b8f..c2083a46a6 100644 --- a/rtl/inc/video.inc +++ b/rtl/inc/video.inc @@ -79,7 +79,7 @@ end; Procedure AssignVideoBuf (OldCols, OldRows : Word); Var NewVideoBuf,NewOldVideoBuf : PVideoBuf; - S,I,C,R,NewVideoBufSize : Integer; + S,I,C,R,NewVideoBufSize : longint; begin S:=SizeOf(TVideoCell); diff --git a/rtl/win32/video.pp b/rtl/win32/video.pp index 9b1b9df98f..58a8e7db84 100644 --- a/rtl/win32/video.pp +++ b/rtl/win32/video.pp @@ -414,7 +414,7 @@ begin SysVMD[SysVideoModeCount-1].Col:=dwMaximumWindowSize.X; SysVMD[SysVideoModeCount-1].Row:=dwMaximumWindowSize.Y; SysVMD[SysVideoModeCount-1].Color:=true; - OrigScreenSize := dwMaximumWindowSize.X * dwMaximumWindowSize.Y * SizeOf (Char_Info); + OrigScreenSize := max(dwMaximumWindowSize.X,dwSize.X) * max(dwMaximumWindowSize.Y,dwSize.Y) * SizeOf (Char_Info); end; GetMem (OrigScreen, OrigScreenSize); with C do