From 1ebc32f5f4b04c913fb6301b886e016afec4c20e Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 20 Apr 2024 00:08:49 +0100 Subject: [PATCH] tearing-control: search through all valid windows ref #5655 --- src/protocols/TearingControl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/protocols/TearingControl.cpp b/src/protocols/TearingControl.cpp index 0ed495bd840..f3c17bfb24b 100644 --- a/src/protocols/TearingControl.cpp +++ b/src/protocols/TearingControl.cpp @@ -86,7 +86,12 @@ CTearingControl::CTearingControl(SP resource_, wlr_surface* su resource->setData(this); resource->setOnDestroyHandler([](CWaylandResource* res) { PROTO::tearing->onControllerDestroy(reinterpret_cast(res->data())); }); - pWindow = g_pCompositor->getWindowFromSurface(surf_); + for (auto& w : g_pCompositor->m_vWindows) { + if (w->m_pWLSurface.wlr() == surf_) { + pWindow = w.get(); + break; + } + } } void CTearingControl::onHint(uint32_t hint_) {