Commit Graph

6 Commits

Author SHA1 Message Date
Dery Almas
6a0b2db3ac Wayland Embedder: Fix FD leak with inert objects
Freshly deleted objects are temporarily "inert" until their destruction
is acknowledged by the compositor.

Inert objects are ignored. By doing so, we mistakenly returned too
early and missed some FD cleanup logic. This patch ensures that any
outstanding FDs are always closed by moving its logic outside of the
message handling routine.

(cherry picked from commit 6e5d1e00e02cf9086224b5eb3258f901a26de413)
2026-02-05 09:46:08 -06:00
Ville Baillie
e02b117af7 wayland_embedder.cpp: fix duplicated-branches error 2026-01-08 19:01:33 +00:00
Rémi Verschelde
e28ef68957 Merge pull request #113135 from deralmas/buffer-jaywalking
Wayland: Fix trailing garbage error while using the embedder on Jay
2025-11-27 21:48:12 +01:00
Michael Alexsander
69ff129e33 Fix error message when closing the project manager on Wayland 2025-11-26 11:16:08 -03:00
Dery Almas
1fb101f7a5 Wayland: Fix trailing garbage error while using the embedder on Jay
`send_wayland_message` takes in the number of words, not its byte size.
This meant that we were sending quite a bit of out-of-bounds stuff
alongside the four arguments required by
`xdg_positioner::set_anchor_rect`, which triggered an assertion on Jay.

This didn't pop up before because the C wayland server library does not
seem to check this, but it's a valid (and useful!) assertion
for other server implementations nonetheless.

This patch switches to the initializer_list syntax to make the intent
clearer.
2025-11-25 01:34:52 +01:00
Dery Almas
bbf65ae72f Wayland: Implement game embedding
This patch introduces a new protocol proxy, which multiplxes Wayland
clients into a single connection, allowing us to redirect calls (e.g.
create toplevel -> create subsurface). Mixed with some state tracking
and emulation, we can embed a full-featured client into the editor.
2025-11-19 21:24:18 +01:00