diff options
| author | Tom Englund <tomenglund26@gmail.com> | 2026-01-18 13:51:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-18 13:51:14 +0100 |
| commit | 0896775f1bbb44e3d60ca60571fc524aa80ce606 (patch) | |
| tree | 451080737a4f9ba1d9be98b6e24421bacbd5e56e | |
| parent | c99eb23869da2b80e3613a886aa1b99851367a3c (diff) | |
pointermgr: remove onRenderBufferDestroy (#13008)
set the damage to cursor plane size instead of INT16_MAX and remove
onRenderbufferDestroy, renderbuffer already have a listener that
destroys when buffer is destroyed.
| -rw-r--r-- | src/managers/PointerManager.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index d2065d69..0cda153a 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -572,8 +572,9 @@ SP<Aquamarine::IBuffer> CPointerManager::renderHWCursorBuffer(SP<CPointerManager RBO->bind(); - g_pHyprOpenGL->beginSimple(state->monitor.lock(), {0, 0, INT16_MAX, INT16_MAX}, RBO); - g_pHyprOpenGL->clear(CHyprColor{0.F, 0.F, 0.F, 0.F}); + const auto& damageSize = state->monitor->m_output->cursorPlaneSize(); + g_pHyprOpenGL->beginSimple(state->monitor.lock(), {0, 0, damageSize.x, damageSize.y}, RBO); + g_pHyprOpenGL->clear(CHyprColor{0.F, 0.F, 0.F, 0.F}); // ensure the RBO is zero initialized. CBox xbox = {{}, Vector2D{m_currentCursorImage.size / m_currentCursorImage.scale * state->monitor->m_scale}.round()}; Log::logger->log(Log::TRACE, "[pointer] monitor: {}, size: {}, hw buf: {}, scale: {:.2f}, monscale: {:.2f}, xbox: {}", state->monitor->m_name, m_currentCursorImage.size, @@ -584,8 +585,6 @@ SP<Aquamarine::IBuffer> CPointerManager::renderHWCursorBuffer(SP<CPointerManager g_pHyprOpenGL->end(); g_pHyprOpenGL->m_renderData.pMonitor.reset(); - g_pHyprRenderer->onRenderbufferDestroy(RBO.get()); - return buf; } |
