internal: Solitary clients with single subsurface & verbose solitary/tearing/DS checks (#11228)

Adds more verbose checks for various conditional rendering mechanisms
This commit is contained in:
UjinT34 2025-08-22 20:24:25 +03:00 committed by GitHub
parent e95ba5bf59
commit 0d45b277d6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 551 additions and 137 deletions

View file

@ -385,6 +385,9 @@ void CPopup::bfHelper(std::vector<WP<CPopup>> const& nodes, std::function<void(W
nodes2.reserve(nodes.size() * 2);
for (auto const& n : nodes) {
if (!n)
continue;
for (auto const& c : n->m_children) {
nodes2.push_back(c->m_self);
}
@ -395,6 +398,9 @@ void CPopup::bfHelper(std::vector<WP<CPopup>> const& nodes, std::function<void(W
}
void CPopup::breadthfirst(std::function<void(WP<CPopup>, void*)> fn, void* data) {
if (!m_self)
return;
std::vector<WP<CPopup>> popups;
popups.push_back(m_self);
bfHelper(popups, fn, data);