diff --git a/Elwig/Helpers/Printing/Win32Printer.cs b/Elwig/Helpers/Printing/Win32Printer.cs index 4bf2f7d..3e90a19 100644 --- a/Elwig/Helpers/Printing/Win32Printer.cs +++ b/Elwig/Helpers/Printing/Win32Printer.cs @@ -163,15 +163,17 @@ namespace Elwig.Helpers.Printing { public bool TrySetDuplex(Duplexing duplex) { var devMode = Marshal.PtrToStructure(_devMode); + switch (duplex) { + case Duplexing.OneSided: devMode.dmDuplex = DMDUP_SIMPLEX; break; + case Duplexing.TwoSidedShortEdge: devMode.dmDuplex = DMDUP_HORIZONTAL; break; + case Duplexing.TwoSidedLongEdge: devMode.dmDuplex = DMDUP_VERTICAL; break; + } if ((devMode.dmFields & DM_DUPLEX) != 0) { - switch (duplex) { - case Duplexing.OneSided: devMode.dmDuplex = DMDUP_SIMPLEX; break; - case Duplexing.TwoSidedShortEdge: devMode.dmDuplex = DMDUP_HORIZONTAL; break; - case Duplexing.TwoSidedLongEdge: devMode.dmDuplex = DMDUP_VERTICAL; break; - } Marshal.StructureToPtr(devMode, _devMode, false); return true; } else { + devMode.dmFields |= DM_DUPLEX; + Marshal.StructureToPtr(devMode, _devMode, false); return false; } }