https://bugs.kde.org/show_bug.cgi?id=510734

Méven <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/kwin/-/commit/be787d3ac4 |ma/kwin/-/commit/655692a787
                   |820e5059164c0436e765935b9c2 |261423b0a801937fb27c838ea6e
                   |654                         |314

--- Comment #11 from Méven <[email protected]> ---
Git commit 655692a787261423b0a801937fb27c838ea6e314 by Méven Car.
Committed on 20/10/2025 at 11:22.
Pushed by meven into branch 'Plasma/6.5'.

OutputDeviceV2Interface: guard for global removed in bind

When we plug in a monitor, we register a global kde_output_device_v2 to
clients. If we unplug the monitor and delete the global while a client
is trying to bind it, we would send a client a global_remove message
*before* messages to the bound object ID. This caused Wayland clients to
not recognize the object IDs the server tried sending to the client. The
next time the server tried sending the client an object ID, it would be
greater than the last object ID the client saw + 1, causing the client
app to exit with errors like:
        not a valid new object id (4278190164), message mode(n)
        The Wayland connection experienced a fatal error: Invalid argument

Fix this bug by not sending messages from objects belonging to globals
we've already removed.

This is safe because both binding (from wl_event_loop_dispatch) and
removing outputs (from KWin::DrmBackend::handleUdevEvent) run in the
same main thread.


(cherry picked from commit be787d3ac4820e5059164c0436e765935b9c2654)

Co-authored-by: Tabby Kitten <[email protected]>

M  +4    -0    src/wayland/outputdevice_v2.cpp

https://invent.kde.org/plasma/kwin/-/commit/655692a787261423b0a801937fb27c838ea6e314

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to