[plasma/krdp/Plasma/6.7] src: VideoStream: preserve accumulated damage when coalescing progressive frames

David Edmundson <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit b1080661f30d0bab4055a50e18622533ef80a1b9 by David Edmundson.
Committed on 22/07/2026 at 07:22.
Pushed by davidedmundson into branch 'Plasma/6.7'.

VideoStream: preserve accumulated damage when coalescing progressive frames

queueFrame merges a dropped frame's damage into `nextFrame`, but then
appends the original `frame` — discarding the merge. Under load (frames
coalescing), the dropped frame's regions are never sent and stay stale on
the client until re-damaged.

Append `nextFrame` instead. (Also makes the move real: `frame` is a
`const &` so it was silently copied.)


(cherry picked from commit 70f93c3278e688c3dc8f86c0cadc5b559119f609)

Co-authored-by: Shouvik Kar <[email protected]>

M  +1    -1    src/VideoStream.cpp

https://invent.kde.org/plasma/krdp/-/commit/b1080661f30d0bab4055a50e18622533ef80a1b9

diff --git a/src/VideoStream.cpp b/src/VideoStream.cpp
index 104f374..b7716cd 100644
--- a/src/VideoStream.cpp
+++ b/src/VideoStream.cpp
@@ -437,7 +437,7 @@ void VideoStream::queueFrame(const KRdp::VideoFrame &frame)
         }
         KRdp::VideoFrame nextFrame = frame;
         nextFrame.damage += lastDamage;
-        d->frameQueue.append(std::move(frame));
+        d->frameQueue.append(std::move(nextFrame));
     }
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.