git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit637bc237c4e612afcd25b18f4e3f4f30edff4d59
parent7f878f6320
authorIsaac Freund <mail@isaacfreund.com>
date2023-03-01 19:03
Root: fix use of view.current before update

In commitTransaction() we currently the current view state to determine
whether or not to enable the view's scene tree. However we don't update
the view's current state until after that check.

 river/Root.zig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/river/Root.zig b/river/Root.zig
index c86822e2..9fb516f8 100644
--- a/river/Root.zig
+++ b/river/Root.zig
@@ -617,6 +617,8 @@ fn commitTransaction(root: *Self) void {
                 view.popup_tree.node.reparent(output.layers.popups);
             }
 
+            view.updateCurrent();
+
             const enabled = view.current.tags & output.current.tags != 0;
             view.tree.node.setEnabled(enabled);
             view.popup_tree.node.setEnabled(enabled);
@@ -624,8 +626,6 @@ fn commitTransaction(root: *Self) void {
                 // TODO this approach for syncing the order will likely cause over-damaging.
                 view.tree.node.lowerToBottom();
             }
-
-            view.updateCurrent();
         }
 
         if (output.inflight.fullscreen != output.current.fullscreen) {