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

Nate Graham <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/fram |https://invent.kde.org/fram
                   |eworks/kguiaddons/-/commit/ |eworks/kguiaddons/-/commit/
                   |fd4c6d1b7dfb77ecf43607ad49f |2e6078186e10bfb4882a7c8e461
                   |17cebe1205f4b               |1e2d5d47a8862

--- Comment #3 from Nate Graham <[email protected]> ---
Git commit 2e6078186e10bfb4882a7c8e4611e2d5d47a8862 by Nate Graham.
Committed on 21/08/2026 at 13:23.
Pushed by ngraham into branch 'Frameworks/6.24'.

Reuse explicitly provided image data

Spectacle already encodes the image for the clipboard and puts both the
ready-to-use `image/<preferred format>` bytes and the original QImage into
QMimeData.

However, whenever an image is requested,
`DataControlSource::ext_data_control_source_v1_send()` ignores the existing
encoded representation and re-encodes the image using `QImage::save()`.

Re-encoding large screenshots as PNG can take more than a second. This happens
after the receiver has requested the MIME type and opened the pipe, while
`DataControlOffer::readData()` stops waiting if the first byte does not arrive
within one second. The receiver then closes the pipe, and the screenshot may
become unavailable for pasting or be stored as an empty Klipper entry.

On my laptop’s 3.1K display, this prevents the image from being stored in
Klipper in time. This is a reduced-scope continuation of !206 although, to be
honest, I only found that MR while preparing this one

Co-authored-by: Tom Ripley <[email protected]>


(cherry picked from commit fd4c6d1b7dfb77ecf43607ad49f17cebe1205f4b)

c1d39270 Reuse explicitly provided image data
1e51cb51 Refactor image MIME type handling

Co-authored-by: Zhora Zmeykin <[email protected]>

M  +10   -15   src/systemclipboard/waylandclipboard.cpp
M  +10   -17   src/systemclipboard/wlrwaylandclipboard.cpp

https://invent.kde.org/frameworks/kguiaddons/-/commit/2e6078186e10bfb4882a7c8e4611e2d5d47a8862

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

Reply via email to