diff --git a/lcl/printers.pas b/lcl/printers.pas index f5327f5534..1121a61604 100644 --- a/lcl/printers.pas +++ b/lcl/printers.pas @@ -1301,7 +1301,15 @@ begin Result := fRightMargin; end; -finalization - If Assigned(Printer) then + +procedure doFreePrinter; +begin + if Assigned(Printer) then Printer.Free; + Printer := nil; +end; + +initialization + RegisterInterfaceFinalizationHandler(@doFreePrinter); + end.