cca2436ba5
The few places that required a surface commit relied on render_frame and render_frame_background to form it form them after they had set up frame callback events. This would fail if render_frame ran out of buffers and exited early, as the caller would still wait indefinitely on the frame callback. swaylock would quite consistently run out of buffers when rendering immediately after a configure event, such as when the keypress causing render also caused outputs to be enabled from idle. Restructure the render and commit handling slightly so that the whole frame callback and commit setup is handled by the render code, which now has a single render entrypoint. This both avoids stalls from lacking commits, but also fixes the case the configure path to respect frame callbacks so we do not run out of buffers in the first place. |
||
---|---|---|
.. | ||
background-image.h | ||
cairo.h | ||
comm.h | ||
log.h | ||
loop.h | ||
meson.build | ||
password-buffer.h | ||
pool-buffer.h | ||
seat.h | ||
swaylock.h | ||
unicode.h |