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

Greg Lamberson <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Greg Lamberson <[email protected]> ---
Created attachment 189189
  --> https://bugs.kde.org/attachment.cgi?id=189189&action=edit
Git patch: Fix clipboard threading bug using QMetaObject::invokeMethod()

Fix attached as git-formatted patch.

The patch uses QMetaObject::invokeMethod() with Qt::BlockingQueuedConnection to
safely marshal cross-thread calls back to the main thread, respecting Qt's
threading requirements while preserving the synchronous API.

The fix:
- Detects when retrieveData() is called from a different thread (Wayland
thread)
- Uses Qt's thread-safe invokeMethod to call fetchData() on the main thread
- Falls back to direct call when already on the main thread (fast path)
- Changes raw pointers to QPointer for null-safety

Tested on:
- KDE Plasma 6.5.5
- openSUSE Tumbleweed 20260131
- Qt 6.10.1

Results:
- Eliminates 100% reproducible crash
-  Clipboard works bidirectionally
-  No threading warnings
-  Klipper integration works correctly

The patch can be applied with:
  git apply 0001-fix-clipboard-threading-bug-515465.patch

Or reviewed/merged directly into the repository.

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

Reply via email to