diff options
Diffstat (limited to 'src/protocols/TearingControl.cpp')
| -rw-r--r-- | src/protocols/TearingControl.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/protocols/TearingControl.cpp b/src/protocols/TearingControl.cpp index 0ed495bd..f3c17bfb 100644 --- a/src/protocols/TearingControl.cpp +++ b/src/protocols/TearingControl.cpp @@ -86,7 +86,12 @@ CTearingControl::CTearingControl(SP<CWaylandResource> resource_, wlr_surface* su resource->setData(this); resource->setOnDestroyHandler([](CWaylandResource* res) { PROTO::tearing->onControllerDestroy(reinterpret_cast<CTearingControl*>(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_) { |
