diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 685cf26a..2b685b9a 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -225,11 +225,13 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { if (!foundSurface) { if (!m_bEmptyFocusCursorSet) { - // TODO: maybe wrap? - if (m_ecbClickBehavior == CLICKMODE_KILL) - wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor); - else - wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor); + if (g_pHyprRenderer->m_bHasARenderedCursor) { + // TODO: maybe wrap? + if (m_ecbClickBehavior == CLICKMODE_KILL) + wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor); + else + wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor); + } m_bEmptyFocusCursorSet = true; } diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index cf42b9fe..2f34ef5d 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -10,22 +10,21 @@ struct SMonitorRule; // TODO: add fuller damage tracking for updating only parts of a window -enum DAMAGETRACKINGMODES -{ +enum DAMAGETRACKINGMODES { DAMAGE_TRACKING_INVALID = -1, DAMAGE_TRACKING_NONE = 0, DAMAGE_TRACKING_MONITOR, DAMAGE_TRACKING_FULL }; -enum eRenderPassMode -{ +enum eRenderPassMode { RENDER_PASS_ALL = 0, RENDER_PASS_MAIN, RENDER_PASS_POPUP }; class CToplevelExportProtocolManager; +class CInputManager; class CHyprRenderer { public: @@ -69,6 +68,7 @@ class CHyprRenderer { friend class CHyprOpenGLImpl; friend class CToplevelExportProtocolManager; + friend class CInputManager; }; inline std::unique_ptr g_pHyprRenderer;