From bca96a5d3be8f3b02171a031511848d031ffa4b0 Mon Sep 17 00:00:00 2001 From: Kamikadze <40305144+Kam1k4dze@users.noreply.github.com> Date: Mon, 18 Aug 2025 00:17:22 +0500 Subject: [PATCH] protocols: Fix fading out windows with noscreenshare being visible (#11457) --- src/protocols/Screencopy.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/protocols/Screencopy.cpp b/src/protocols/Screencopy.cpp index cd825b1b..804e144c 100644 --- a/src/protocols/Screencopy.cpp +++ b/src/protocols/Screencopy.cpp @@ -223,10 +223,11 @@ void CScreencopyFrame::renderMon() { const auto PWORKSPACE = w->m_workspace; - if UNLIKELY (!PWORKSPACE) + if UNLIKELY (!PWORKSPACE && !w->m_fadingOut && w->m_alpha->value() != 0.f) continue; - const auto REALPOS = w->m_realPosition->value() + (w->m_pinned ? Vector2D{} : PWORKSPACE->m_renderOffset->value()); + const auto renderOffset = PWORKSPACE && !w->m_pinned ? PWORKSPACE->m_renderOffset->value() : Vector2D{}; + const auto REALPOS = w->m_realPosition->value() + renderOffset; const auto noScreenShareBox = CBox{REALPOS.x, REALPOS.y, std::max(w->m_realSize->value().x, 5.0), std::max(w->m_realSize->value().y, 5.0)} .translate(-m_monitor->m_position) .scale(m_monitor->m_scale)