From 07b197958d89714aa8a7185b7a4f7087067fce99 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 11 Aug 2026 18:09:51 +0200 Subject: [PATCH] Printing: Try to duplex print with manual dialog --- Elwig/Helpers/Printing/Win32Printer.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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; } }