From 47fb1c3decfc03e8610e89571303eb8c8cea80f3 Mon Sep 17 00:00:00 2001 From: Jared Davison Date: Wed, 9 Aug 2017 18:19:43 +1000 Subject: [PATCH] fix bug: overcome error when switching between printers with conflicting extra details, added code fix error when switching between printers with conflicting extra details --- jcl/source/vcl/JclPrint.pas | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jcl/source/vcl/JclPrint.pas b/jcl/source/vcl/JclPrint.pas index 3d50115d74..3d1f47f40f 100644 --- a/jcl/source/vcl/JclPrint.pas +++ b/jcl/source/vcl/JclPrint.pas @@ -1519,7 +1519,12 @@ function TJclPrintSet.ReadFromCustomIni(const PrIniFile: TCustomIniFile; const S privDataExtraSize: Integer; DevModeDriverName: string; DevModeDriverVersion: Word; + NewHandle: THandle; begin + // added to fix error when switching between printers with conflicting extra details + Printer.GetPrinter(FDevice, FDriver, FPort, NewHandle); + Printer.SetPrinter(FDevice, FDriver, FPort, 0); + PrinterName := PrIniFile.ReadString(Section, PrintIniPrinterName, PrinterName); PrinterPort := PrIniFile.ReadString(Section, PrintIniPrinterPort, PrinterPort); Orientation := PrIniFile.ReadInteger(Section, PrintIniOrientation, Orientation);