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

nyanpasu64 <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/be787d3ac4
                   |                            |820e5059164c0436e765935b9c2
                   |                            |654
         Resolution|---                         |FIXED

--- Comment #8 from nyanpasu64 <[email protected]> ---
Git commit be787d3ac4820e5059164c0436e765935b9c2654 by Tabby Kitten.
Committed on 20/10/2025 at 10:01.
Pushed by meven into branch 'master'.

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.

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

https://invent.kde.org/plasma/kwin/-/commit/be787d3ac4820e5059164c0436e765935b9c2654

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

Reply via email to