diff --git a/src/Compositor.hpp b/src/Compositor.hpp index d4d9ffcd..1a45592c 100644 --- a/src/Compositor.hpp +++ b/src/Compositor.hpp @@ -74,6 +74,8 @@ public: SSeat m_sSeat; + bool m_bReadyToProcess = false; + // ------------------------------------------------- // SMonitor* getMonitorFromID(const int&); diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index ab2caa3d..fb98ae85 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -122,6 +122,9 @@ void Events::listener_newOutput(wl_listener* listener, void* data) { if (!g_pCompositor->m_pLastMonitor) // set the last monitor if it isnt set yet g_pCompositor->m_pLastMonitor = PNEWMONITOR; + + // ready to process cuz we have a monitor + g_pCompositor->m_bReadyToProcess = true; } void Events::listener_monitorFrame(void* owner, void* data) { diff --git a/src/managers/InputManager.cpp b/src/managers/InputManager.cpp index 2853924d..2ba9dc06 100644 --- a/src/managers/InputManager.cpp +++ b/src/managers/InputManager.cpp @@ -23,6 +23,9 @@ void CInputManager::onMouseWarp(wlr_pointer_motion_absolute_event* e) { void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { + if (!g_pCompositor->m_bReadyToProcess) + return; + // update stuff updateDragIcon();