Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
View: fix potential assertion failure on destroy
If a View is destroyed while part of a transaction we can currently hit
an assertion failure, this commit fixes it.
river/View.zig | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/river/View.zig b/river/View.zig
index 7430e4a..a11bd92 100644
--- a/river/View.zig
+++ b/river/View.zig
@@ -350,7 +350,11 @@ pub fn commitTransaction(view: *View) void {
view.current = view.inflight;
},
- .none => {},
+ // This may seem pointless at first glance, but is in fact necessary
+ // to prevent an assertion failure in Root.commitTransaction() as that
+ // function assumes that the inflight tags/output will be applied by
+ // View.commitTransaction() even for views being destroyed.
+ .none => view.current = view.inflight,
}
view.updateSceneState();