diff options
| author | Qiu <alex@alexslomka.xyz> | 2021-03-27 16:17:24 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-27 16:17:24 +0100 |
| commit | c457b12cf3c2040f37f9322095a20ad16a15b337 (patch) | |
| tree | f0317c682f6dc2a54ae59a66ef007853464c5baf | |
| parent | e1048e6add215641c31a27a35f0a6439dfc4ff2a (diff) | |
| download | river-c457b12cf3c2040f37f9322095a20ad16a15b337.tar.gz river-c457b12cf3c2040f37f9322095a20ad16a15b337.tar.xz | |
render: schedule new frame on output commit failure
This seems to fix issues with rendering freezing described in
https://github.com/ifreund/river/issues/153.
| -rw-r--r-- | river/render.zig | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/river/render.zig b/river/render.zig index 1878c6b..204d760 100644 --- a/river/render.zig +++ b/river/render.zig @@ -142,9 +142,10 @@ pub fn renderOutput(output: *Output) void { output.wlr_output.setDamage(&damage); } - // TODO: handle failure - output.wlr_output.commit() catch - log.err("output commit failed for {}", .{output.wlr_output.name}); + output.wlr_output.commit() catch { + log.err("output commit failed for {}, retrying", .{std.mem.spanZ(&output.wlr_output.name)}); + output.wlr_output.scheduleFrame(); + }; } fn renderFilter(view: *View, filter_tags: u32) bool { |
