srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/legacy-cpp
diff options
context:
space:
mode:
authorsrdusr <[email protected]>2025-03-03 01:47:00 +0200
committersrdusr <[email protected]>2025-03-03 01:47:00 +0200
commitf83082a3b9b75e6f1bc4187850bea1b7408cffca (patch)
tree4135aaa04f4aeea60a597062883d0bcf9c7f2867 /legacy-cpp
parentd303c276e289c9c7146cf74ccad2743246922248 (diff)
downloadsrdwm-f83082a3b9b75e6f1bc4187850bea1b7408cffca.tar.gz
srdwm-f83082a3b9b75e6f1bc4187850bea1b7408cffca.zip
Fix VT-switch DPMS blank-screen and CSD corner-crop staircase bugs
VT-switch resume: reasserting the CRTC's mode-setting state was never enough on its own - display power (DPMS) is separate KMS state, and nothing here ever touched it after a real switch-away-and-back. Page flips kept succeeding with zero errors logged for the rest of a real 30+ minute session while the panel itself simply stayed dark, which is what actually explains a user report of the screen and keyboard input never recovering after one VT switch. Sets DPMS-on unconditionally on every resume now, the same property zwlr_output_power_v1 already writes for an explicit client request. Corner rendering: both backends' side-strip crop (the fix that keeps a window's flat left/right border strips from poking a solid-coloured square through the top/bottom strip's own rounded curve) only ever activated for `w.decorated` windows. An undecorated/CSD window's crop depends on its *content* actually getting masked to match - the winit backend never checked that at all, so every CSD window with a nonzero border_width got the uncropped, "staircase" artifact unconditionally, confirmed live via a highlighted border colour and raw pixel sampling. Ported the udev backend's own `border_curve_is_safe` check (decorated OR content-will-be-masked) into winit, using the cheap "does this surface have subsurface children" test both content- masking code paths already gate success on, rather than duplicating either one's real (comparatively expensive) rendering work just to probe it. Full workspace build + clippy -D warnings + test suite (378 tests) green.
Diffstat (limited to 'legacy-cpp')
0 files changed, 0 insertions, 0 deletions