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

Shouvik Kar <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 70f93c3278e688c3dc8f86c0cadc5b559119f609 by Shouvik Kar.
Committed on 20/07/2026 at 12:23.
Pushed by davidedmundson into branch 'master'.

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.)

M  +1    -1    src/VideoStream.cpp

https://invent.kde.org/plasma/krdp/-/commit/70f93c3278e688c3dc8f86c0cadc5b559119f609

diff --git a/src/VideoStream.cpp b/src/VideoStream.cpp
index 38588a5..ce0f68e 100644
--- a/src/VideoStream.cpp
+++ b/src/VideoStream.cpp
@@ -446,7 +446,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.