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);