Zhihui Song
800a6f9fd7
test: bound native tail reads instead of waiting indefinitely in DataReader
2026-11-08 18:41:10 +08:00
Zhihui Song
03a4fb6387
fix: clarify path validation and clean up Windows stream tests safely
2026-11-08 00:05:46 +08:00
Zhihui Song
b334ebbbfe
fix: read PDF jobs on demand through a read-only file stream
2026-11-07 15:05:34 +08:00
Zhihui Song
17f5f1e3c5
fix: load Windows PDF print jobs through a stream
2026-11-07 14:12:05 +08:00
cart2notasmn-ops and Claude Opus 5.5
f256775bec
fix: create the Direct2D factory multi-threaded for Windows.Data.Pdf
...
Windows.Data.Pdf renders a page on several worker threads that share the
device context passed to RenderPageToDeviceContext. With a single-threaded
factory Direct2D takes no locks, so those threads race inside d2d1.dll:
access violations reading near null (d2d1.dll+0x93fd4, address 0x338) or
executing freed memory (BEX64), mostly on long jobs of scanned pages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 12:31:35 -03:00
skylar taylor-barrick
5f80b9baf6
feat: report PDF page total before processing
2026-10-12 23:08:56 +02:00
skylar taylor-barrick
3c60c53482
fix: propagate DXGI terminal failures and report PDF page processing
2026-10-12 23:08:35 +02:00
ArcticLampyrid
cc4826764d
chore: upgrade dependencies
2026-04-25 03:20:33 +08:00
ArcticLampyrid
774996a59b
feat: add Chromium-style safe EMF playback
2026-04-22 03:21:29 +08:00
ArcticLampyrid and TATSUNO “Taz” Yasuhiro
a61a99ff11
feat: align with Chromium's behavior for GDI printing initialization
...
Co-authored-by: TATSUNO “Taz” Yasuhiro <ytatsuno.jp@gmail.com >
2026-04-21 02:18:15 +08:00
ArcticLampyrid and Claude Sonnet 4.6
b303b9f0ad
fix: avoid TOCTOU race in printer enumeration by retrying on insufficient buffer
...
Replace the probe-then-fetch pattern with a grow-on-demand loop: start with a
null buffer and reallocate whenever EnumPrintersW returns ERROR_INSUFFICIENT_BUFFER,
so a printer list change between the two calls no longer causes a failure.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 02:05:14 +08:00
ArcticLampyrid
fd85c2eedd
feat: image printer
2024-08-15 16:22:34 +08:00
ArcticLampyrid
4ab5855fcc
refactor: move dxgi print logic into seperated mod for reusage
2024-08-15 16:20:01 +08:00
ArcticLampyrid
84f1daa394
fix: set proper dpi for DirectX render
2024-07-10 18:19:27 +08:00
ArcticLampyrid
562466caca
feat: add Windows.Data.Pdf backend for pdf printing
2024-07-08 07:27:53 +08:00
ArcticLampyrid
e63c0c7e51
chore: update dependencies
2024-06-22 07:10:37 +08:00
ArcticLampyrid
681b6fd8bd
fix: do not include that source error in its own Display representation
...
Link: https://alampy.com/2024/05/14/a-brief-of-error-chain-in-rust/
Link: https://github.com/rust-lang/api-guidelines/pull/210
2024-06-21 15:05:07 +08:00
ArcticLampyrid
e94b6046d1
feat: expose error chains
2024-03-14 16:07:47 +08:00
ArcticLampyrid
6651a8a9af
docs: initial documents
2024-03-14 16:07:47 +08:00
ArcticLampyrid
d39ad272c1
test: use test_utils to contains code supporting tests
2024-03-14 16:07:40 +08:00
ArcticLampyrid
b751858cec
refactor: rename PrinterInfo to PrinterDevice
2024-03-14 01:36:35 +08:00
ArcticLampyrid
2b980f0aee
test: cover more branches
2024-03-12 17:34:26 +08:00
ArcticLampyrid
526866498a
test: split into different modules
2024-03-12 00:26:31 +08:00
ArcticLampyrid
35dd64b5d7
feat: initial support for print ticket
2024-03-10 02:41:01 +08:00
ArcticLampyrid
a0566b3add
feat: support delicate errors & options
2024-03-10 02:25:18 +08:00
ArcticLampyrid
29f8fe7313
chore!: upgrade windows crate
2024-03-10 02:25:18 +08:00
ArcticLampyrid
23bb7ee04a
refactor: use std::alloc for better performance
2024-03-10 02:24:28 +08:00
ArcticLampyrid
50c51dcff7
feat: make pdfium pluggable
2024-03-07 00:19:47 +08:00
ArcticLampyrid
b997e63124
feat: pdfium printer
2024-03-07 00:19:41 +08:00
ArcticLampyrid
820f1d0d63
feat: printer info & xps printer
2024-03-07 00:19:30 +08:00