layer-surface: fix clip box coordinates

The clip box must be relative to the layer surface, not the output.
This commit is contained in:
Isaac Freund 2024-10-24 12:05:48 +02:00
parent 3529463569
commit 1b5dd21ee6
No known key found for this signature in database
GPG Key ID: 86DED400DDFD7A11

View File

@ -393,11 +393,15 @@ fn sendLayerConfigures(
usable_box.* = new_usable_box;
}
layer_surface.popup_tree.node.setPosition(
layer_surface.scene_layer_surface.tree.node.x,
layer_surface.scene_layer_surface.tree.node.y,
);
layer_surface.scene_layer_surface.tree.node.subsurfaceTreeSetClip(&full_box);
const x = layer_surface.scene_layer_surface.tree.node.x;
const y = layer_surface.scene_layer_surface.tree.node.y;
layer_surface.popup_tree.node.setPosition(x, y);
layer_surface.scene_layer_surface.tree.node.subsurfaceTreeSetClip(&.{
.x = -x,
.y = -y,
.width = full_box.width,
.height = full_box.height,
});
}
}
}