mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-24 10:16:59 -06:00
Windows: dragging across monitors with different scales doesn't grow or crash the window
winit 0.30.13 mishandles WM_DPICHANGED during a live drag on Windows 11: the window flips between the two scales and grows past the GPU surface limit. Pin winit to the one commit of rust-windowing/winit#4694, its 0.30.x backport of the fix. The device asks for the adapter's largest texture side instead of eframe's fixed 8192, and an uncaptured wgpu error is logged instead of panicking, so a window larger than the surface limit draws wrongly until it shrinks rather than closing the app.
This commit is contained in:
+10
@@ -97,3 +97,13 @@ opt-level = 3
|
||||
lto = "thin"
|
||||
codegen-units = 16
|
||||
debug = 0
|
||||
|
||||
# Windows 11: winit 0.30.13 resizes a window wrongly while it is dragged across monitors with
|
||||
# different display scales (rust-windowing/winit#4041, #4600). It flips between the two scales,
|
||||
# grows by the scale ratio (3600×2250 → 9048×5757 between 250 % and 100 %) and outgrows the GPU
|
||||
# surface. Pinned to the one commit of rust-windowing/winit#4694, the 0.30.x backport of the fix
|
||||
# winit master has had since 488c036a (#4341): during a live drag it applies the rect Windows
|
||||
# suggests (+21/−34 lines in src/platform_impl/windows/event_loop.rs on top of v0.30.13). Remove
|
||||
# once eframe depends on a winit release with the fix.
|
||||
[patch.crates-io]
|
||||
winit = { git = "https://github.com/rust-windowing/winit", rev = "39c4009c41e5977d779cf8a365792c8153ca77c5" }
|
||||
|
||||
Reference in New Issue
Block a user