Commit Graph

8 Commits

Author SHA1 Message Date
Thaddeus Crews 65e79f33cb Merge pull request #115823 from deralmas/what-the-fd
Wayland Embedder: Fix FD leak with inert objects
2026-02-05 09:32:34 -06:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Dery Almas 6e5d1e00e0 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.
2026-02-03 16:26:56 +01: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