M10: use approved printing dependencies and retain the Direct2D crash fix

This commit is contained in:
Zhihui Song committed 2026-11-07 14:49:08 +08:00
1 parent d20f563ad7
commit 596f8169e3
4 files changed
+7 -11

No files matched your search

Generated
+3 -3
View File
@@ -1243,7 +1243,7 @@ dependencies = [
[[package]]
name = "craft-print"
version = "0.1.0"
source = "git+https://github.com/storytold/craft-libs?rev=787a7a0f972fd1d7a7618fdbeca3a5267a0407ff#787a7a0f972fd1d7a7618fdbeca3a5267a0407ff"
source = "git+https://github.com/storytold/craft-libs?rev=e398084b63413aa5d872da43496f0c0822cb749a#e398084b63413aa5d872da43496f0c0822cb749a"
dependencies = [
"craft-winprint-gdi",
"log",
@@ -1324,7 +1324,7 @@ dependencies = [
[[package]]
name = "craft-winprint-gdi"
version = "0.1.0"
source = "git+https://github.com/storytold/winprint.rs?rev=417ac3c4d14d3da5485a99c7d5ce8f05664ec312#417ac3c4d14d3da5485a99c7d5ce8f05664ec312"
source = "git+https://github.com/storytold/winprint.rs?rev=17f5f1e3c5038be6bd122df36fc5b5aa2672502c#17f5f1e3c5038be6bd122df36fc5b5aa2672502c"
dependencies = [
"windows-sys 0.61.2",
]
@@ -8209,7 +8209,7 @@ dependencies = [
[[package]]
name = "winprint"
version = "0.2.1"
source = "git+https://github.com/songzhihui/winprint.rs?rev=857407c33bc1e2ef53cd35388512658c25945d79#857407c33bc1e2ef53cd35388512658c25945d79"
source = "git+https://github.com/storytold/winprint.rs?rev=17f5f1e3c5038be6bd122df36fc5b5aa2672502c#17f5f1e3c5038be6bd122df36fc5b5aa2672502c"
dependencies = [
"flate2",
"fmt-derive",
+1 -5
View File
@@ -24,7 +24,7 @@ craft-keymap = { git = "https://github.com/storytold/craft-libs", version = "0.1
# the commit in `craft-i18n.rev`). Already in the tree through craft-ui.
craft-i18n = { git = "https://github.com/storytold/craft-libs", version = "0.1.0", rev = "787a7a0f972fd1d7a7618fdbeca3a5267a0407ff" }
# Shared system spooler; document composition remains in pdfcraft-print.
craft-print = { git = "https://github.com/storytold/craft-libs", version = "0.1.0", rev = "787a7a0f972fd1d7a7618fdbeca3a5267a0407ff" }
craft-print = { git = "https://github.com/storytold/craft-libs", version = "0.1.0", rev = "e398084b63413aa5d872da43496f0c0822cb749a" }
# Whether a path stored in a document may be opened (GoToR link targets).
craft-docpath = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "787a7a0f972fd1d7a7618fdbeca3a5267a0407ff" }
# craft-update: app-specific pretend versions apply to startup and manual checks.
@@ -161,7 +161,3 @@ eframe = { git = "https://github.com/storytold/egui.git", rev = "6d518fc79968157
egui_demo_lib = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
egui_inspection = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
winit = { git = "https://github.com/storytold/winit.git", rev = "a517b3846ee8457d84ee4975110bfda6797c44dc" }
# Temporary until craft-print adopts storytold/winprint.rs#15.
[patch."https://github.com/storytold/winprint.rs"]
winprint = { git = "https://github.com/songzhihui/winprint.rs", rev = "857407c33bc1e2ef53cd35388512658c25945d79" }
+1 -1
View File
@@ -1,6 +1,6 @@
# PdfCraft roadmap
> **Last reviewed:** 2026-11-07 | **Last updated:** 2026-11-07 | **Change:** patch (M10: pin stream-based Windows PDF job loading; hidden-file regression fails before and passes after; HUAWEI CV81Z submission succeeds; physical output still unqualified; estimates unchanged)
> **Last reviewed:** 2026-11-07 | **Last updated:** 2026-11-07 | **Change:** patch (M10: adopt stream-based Windows PDF job loading through craft-print, preserve the #5006 Direct2D fix, remove personal-fork/global overrides; physical output still unqualified; estimates unchanged)
> **Last reviewed:** 2026-11-03 | **Last updated:** 2026-11-03 | **Change:** patch (M5 #5850 review: indirect typewriter intent and composer edits preserve outer whitespace; movement regression commits by outside click; estimates unchanged)
+2 -2
View File
@@ -4,9 +4,9 @@ A report on PdfCraft 0.19.0 described the preview closing without output while E
The native submission test failed before queueing: `StorageFile::GetFileFromPathAsync` returned `0x80070005` for the temporary PDF. Ordinary desktop file access could read it. This isolates one reproducible failure; it does not establish the cause of every report of an empty print queue.
The temporary winprint patch reads the job using desktop file access, transfers it in 64 KiB chunks to an `InMemoryRandomAccessStream`, and calls `PdfDocument::LoadFromStreamAsync`. It does not fall back to another printer or retry an already submitted job. Tickets, layout, permissions and completion handling remain in place. The stream still holds the PDF in memory; large-job memory use needs qualification.
The winprint loader reads the job using desktop file access, transfers it in 64 KiB chunks to an `InMemoryRandomAccessStream`, and calls `PdfDocument::LoadFromStreamAsync`. It does not fall back to another printer or retry an already submitted job. Tickets, layout, permissions and completion handling remain in place. The stream still holds the PDF in memory; large-job memory use needs qualification.
Upstream fix: https://github.com/storytold/winprint.rs/pull/15. Remove the temporary patch once craft-print adopts a revision containing it.
Upstream fix: https://github.com/storytold/winprint.rs/pull/15. PdfCraft now updates only its `craft-print` dependency, with no global `[patch]` override. Both printing libraries are pinned to winprint `17f5f1e3`, a child of `64e7afd4` containing the multi-threaded Direct2D factory fix for #5006. All Git source URLs remain under `storytold`; the dependency follow-up is https://github.com/storytold/craft-libs/pull/636 (stacked on #605). Upstream reviews are still required before release.
## Evidence