summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2026-03-05 15:14:13 +0000
committerGitHub <noreply@github.com>2026-03-05 15:14:13 +0000
commit972f23efe824889bdb79869cfd44bd960f96350e (patch)
tree7ebcf05798ec753b274ee880ac8a7dd9516c3430 /src
parent4c60d9df70c67b1d74388c69b46374e46371ff1f (diff)
screencopy: fix isOutputBeingSSd (#13586)
use sessions instead of pending frames
Diffstat (limited to 'src')
-rw-r--r--src/managers/screenshare/ScreenshareManager.cpp6
-rw-r--r--src/render/OpenGL.cpp1
2 files changed, 4 insertions, 3 deletions
diff --git a/src/managers/screenshare/ScreenshareManager.cpp b/src/managers/screenshare/ScreenshareManager.cpp
index 70e2bf5e..63f2bbbc 100644
--- a/src/managers/screenshare/ScreenshareManager.cpp
+++ b/src/managers/screenshare/ScreenshareManager.cpp
@@ -153,10 +153,10 @@ WP<CScreenshareSession> CScreenshareManager::getManagedSession(eScreenshareType
}
bool CScreenshareManager::isOutputBeingSSd(PHLMONITOR monitor) {
- return std::ranges::any_of(m_pendingFrames, [monitor](const auto& f) {
- if (!f || !f->m_session)
+ return std::ranges::any_of(m_sessions, [monitor](const auto& s) {
+ if (!s)
return false;
- return (f->m_session->m_type == SHARE_MONITOR || f->m_session->m_type == SHARE_REGION) && f->m_session->m_monitor == monitor;
+ return (s->m_type == SHARE_MONITOR || s->m_type == SHARE_REGION) && s->m_monitor == monitor;
});
}
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp
index b31a0e15..d43e1c69 100644
--- a/src/render/OpenGL.cpp
+++ b/src/render/OpenGL.cpp
@@ -2499,6 +2499,7 @@ void CHyprOpenGLImpl::saveBufferForMirror(const CBox& box) {
renderTexture(m_renderData.currentFB->getTexture(), box,
STextureRenderData{
+ .damage = &m_renderData.finalDamage,
.a = 1.F,
.round = 0,
.discardActive = false,