diff --git a/src/portals/Screencopy.cpp b/src/portals/Screencopy.cpp index afd36cd..22ae46f 100644 --- a/src/portals/Screencopy.cpp +++ b/src/portals/Screencopy.cpp @@ -1009,7 +1009,13 @@ void CPipewireConnection::destroyStream(CScreencopyPortal::SSession* pSession) { return; if (!PSTREAM->buffers.empty()) { + std::vector bufs; + for (auto& b : PSTREAM->buffers) { + bufs.push_back(b.get()); + } + + for (auto& b : bufs) { pwStreamRemoveBuffer(PSTREAM, b->pwBuffer); } }