summaryrefslogtreecommitdiff
path: root/src/managers/PointerManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/PointerManager.cpp')
-rw-r--r--src/managers/PointerManager.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp
index 1c8e9976..24f2b35d 100644
--- a/src/managers/PointerManager.cpp
+++ b/src/managers/PointerManager.cpp
@@ -17,6 +17,9 @@
#include <cstring>
#include <gbm.h>
#include <cairo/cairo.h>
+#include <hyprutils/utils/ScopeGuard.hpp>
+
+using namespace Hyprutils::Utils;
CPointerManager::CPointerManager() {
hooks.monitorAdded = g_pHookSystem->hookDynamic("monitorAdded", [this](void* self, SCallbackInfo& info, std::any data) {
@@ -310,7 +313,12 @@ void CPointerManager::onCursorMoved() {
recalc = true;
}
- if (state->hardwareFailed || !state->entered)
+ if (!state->entered)
+ continue;
+
+ CScopeGuard x([m] { m->onCursorMovedOnMonitor(); });
+
+ if (state->hardwareFailed)
continue;
const auto CURSORPOS = getCursorPosForMonitor(m);