From 920353370bba555010506a1c0b204675c60362fe Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Mon, 8 Dec 2025 15:04:40 +0000 Subject: desktop: cleanup, unify desktop elements as views (#12563) --- src/protocols/core/Compositor.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/protocols/core/Compositor.cpp') diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp index efdbff50..44f95943 100644 --- a/src/protocols/core/Compositor.cpp +++ b/src/protocols/core/Compositor.cpp @@ -356,7 +356,7 @@ void CWLSurfaceResource::bfHelper(std::vector> const& nod break; if (c->m_surface.expired()) continue; - nodes2.push_back(c->m_surface.lock()); + nodes2.emplace_back(c->m_surface.lock()); } } @@ -381,7 +381,7 @@ void CWLSurfaceResource::bfHelper(std::vector> const& nod continue; if (c->m_surface.expired()) continue; - nodes2.push_back(c->m_surface.lock()); + nodes2.emplace_back(c->m_surface.lock()); } } @@ -391,7 +391,7 @@ void CWLSurfaceResource::bfHelper(std::vector> const& nod void CWLSurfaceResource::breadthfirst(std::function, const Vector2D&, void*)> fn, void* data) { std::vector> surfs; - surfs.push_back(m_self.lock()); + surfs.emplace_back(m_self.lock()); bfHelper(surfs, fn, data); } @@ -558,7 +558,9 @@ void CWLSurfaceResource::commitState(SSurfaceState& state) { SImageDescription CWLSurfaceResource::getPreferredImageDescription() { static const auto PFORCE_HDR = CConfigValue("quirks:prefer_hdr"); - if (*PFORCE_HDR == 1 || (*PFORCE_HDR == 2 && m_hlSurface && m_hlSurface->getWindow() && m_hlSurface->getWindow()->m_class == "gamescope")) + const auto WINDOW = Desktop::View::CWindow::fromView(m_hlSurface->view()); + + if (*PFORCE_HDR == 1 || (*PFORCE_HDR == 2 && m_hlSurface && WINDOW && WINDOW->m_class == "gamescope")) return g_pCompositor->getHDRImageDescription(); auto parent = m_self; @@ -569,8 +571,8 @@ SImageDescription CWLSurfaceResource::getPreferredImageDescription() { WP monitor; if (parent->m_enteredOutputs.size() == 1) monitor = parent->m_enteredOutputs[0]; - else if (m_hlSurface.valid() && m_hlSurface->getWindow()) - monitor = m_hlSurface->getWindow()->m_monitor; + else if (m_hlSurface.valid() && WINDOW) + monitor = WINDOW->m_monitor; return monitor ? monitor->m_imageDescription : g_pCompositor->getPreferredImageDescription(); } -- cgit v1.2.3