From 4cdddcfe466cb21db81af0ac39e51cc15f574da9 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 14 May 2024 16:45:01 +0100 Subject: [PATCH] cursor: minor fixes for unhiding surfaces the surface equality check is done in CPointerManager, the one in renderer can be wrong fixes #5975 --- src/managers/PointerManager.cpp | 2 +- src/render/Renderer.cpp | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index 663456f8..3ddd7c23 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -223,7 +223,7 @@ void CPointerManager::setCursorSurface(CWLSurface* surf, const Vector2D& hotspot }, nullptr, "CPointerManager"); - if (surf->wlr()->current.buffer) { + if (wlr_surface_has_buffer(surf->wlr())) { timespec now; clock_gettime(CLOCK_MONOTONIC, &now); wlr_surface_send_frame_done(surf->wlr(), &now); diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 2574a015..d9529b6f 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -2255,9 +2255,6 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR void CHyprRenderer::setCursorSurface(CWLSurface* surf, int hotspotX, int hotspotY, bool force) { m_bCursorHasSurface = surf; - if (surf == m_sLastCursorData.surf && hotspotX == m_sLastCursorData.hotspotX && hotspotY == m_sLastCursorData.hotspotY && !force) - return; - m_sLastCursorData.name = ""; m_sLastCursorData.surf = surf; m_sLastCursorData.hotspotX = hotspotX;