summaryrefslogtreecommitdiff
path: root/src/managers/CursorManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/CursorManager.cpp')
-rw-r--r--src/managers/CursorManager.cpp5
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;