diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-03-09 18:04:33 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-03-09 18:04:33 +0000 |
| commit | 18a35b140681767e055bb78d268efafab8664f90 (patch) | |
| tree | 2d7f9d6656e8904eca8da6b4a452d2f2b59f8d8d /src/managers/CursorManager.cpp | |
| parent | 7e41e5146d124aa1161a73c249d41ad60f1bb162 (diff) | |
cursormgr: fix memory leak with cursor buffers
Diffstat (limited to 'src/managers/CursorManager.cpp')
| -rw-r--r-- | src/managers/CursorManager.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/managers/CursorManager.cpp b/src/managers/CursorManager.cpp index dc62bb74..ff644010 100644 --- a/src/managers/CursorManager.cpp +++ b/src/managers/CursorManager.cpp @@ -127,9 +127,12 @@ void CCursorManager::setCursorFromName(const std::string& name) { Vector2D{m_sCurrentCursorShapeData.images[0].size, m_sCurrentCursorShapeData.images[0].size}, Vector2D{m_sCurrentCursorShapeData.images[0].hotspotX, m_sCurrentCursorShapeData.images[0].hotspotY})); - if (g_pCompositor->m_sWLRCursor) + if (g_pCompositor->m_sWLRCursor) { wlr_cursor_set_buffer(g_pCompositor->m_sWLRCursor, getCursorBuffer(), m_sCurrentCursorShapeData.images[0].hotspotX, m_sCurrentCursorShapeData.images[0].hotspotY, m_fCursorScale); + if (m_vCursorBuffers.size() > 1) + wlr_buffer_drop(&m_vCursorBuffers.front()->wlrBuffer.base); + } m_bOurBufferConnected = true; |
