summaryrefslogtreecommitdiff
path: root/src/managers/screenshare/ScreenshareManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/screenshare/ScreenshareManager.cpp')
-rw-r--r--src/managers/screenshare/ScreenshareManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/managers/screenshare/ScreenshareManager.cpp b/src/managers/screenshare/ScreenshareManager.cpp
index 823e99b3..57b9f6ef 100644
--- a/src/managers/screenshare/ScreenshareManager.cpp
+++ b/src/managers/screenshare/ScreenshareManager.cpp
@@ -156,6 +156,14 @@ void CScreenshareManager::destroyClientSessions(wl_client* client) {
std::erase_if(m_managedSessions, [&](const auto& session) { return !session || session->m_session->m_client == client; });
}
+bool CScreenshareManager::isOutputBeingSSd(PHLMONITOR monitor) {
+ return std::ranges::any_of(m_pendingFrames, [monitor](const auto& f) {
+ if (!f || !f->m_session)
+ return false;
+ return (f->m_session->m_type == SHARE_MONITOR || f->m_session->m_type == SHARE_REGION) && f->m_session->m_monitor == monitor;
+ });
+}
+
CScreenshareManager::SManagedSession::SManagedSession(UP<CScreenshareSession>&& session) : m_session(std::move(session)) {
;
}