- changed status to resolved
AV using SetMapMode on macOS
Issue #133
resolved
The following code generate an AV on macOS with 0.99c
const
ScreenResolution = 600;
var
ScreenDC: HDC;
FScreenReferenceDC : HDC;
FScreenReference : TCanvas;
ScreenCanvasPX : Integer;
ScreenCanvasPY : Integer;
begin
ScreenDC := GetDC(0);
try
FScreenReferenceDC := CreateCompatibleDC(ScreenDC);
FScreenReference := TCanvas.Create;
TCanvas(FScreenReference).Handle := FScreenReferenceDC;
ScreenCanvasPX := GetDeviceCaps(FScreenReferenceDC, LOGPIXELSX);
ScreenCanvasPY := GetDeviceCaps(FScreenReferenceDC, LOGPIXELSY);
SetMapMode(FScreenReferenceDC, MM_ANISOTROPIC);
SetWindowExtEx(FScreenReferenceDC, ScreenCanvasPX, ScreenCanvasPY, nil);
SetViewPortExtEx(FScreenReferenceDC, ScreenResolution, ScreenResolution, nil);
SetViewPortOrgEx(FScreenReferenceDC, 0, 0, nil);
finally
FScreenReference.Free;
ReleaseDC(0, ScreenDC); // <--- AV here
end;
Comments (1)
-
repo owner - Log in to comment
Fixed at 0.99d