summaryrefslogtreecommitdiff
path: root/src/managers/PointerManager.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-09-11 09:30:21 +0100
committerVaxry <vaxry@vaxry.net>2024-09-11 09:30:21 +0100
commit518399a95bada8bad8a4c29514da9962ce442307 (patch)
tree7bda10d09f3077f2d69f429b0a102437431522ec /src/managers/PointerManager.cpp
parent155d44016d0cb11332c454db73d59030cdbd7b13 (diff)
pointermgr: avoid derefing null outputs
Diffstat (limited to 'src/managers/PointerManager.cpp')
-rw-r--r--src/managers/PointerManager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp
index e48c77d5..6b2a40f5 100644
--- a/src/managers/PointerManager.cpp
+++ b/src/managers/PointerManager.cpp
@@ -675,7 +675,7 @@ void CPointerManager::damageIfSoftware() {
static auto PNOHW = CConfigValue<Hyprlang::INT>("cursor:no_hardware_cursors");
for (auto const& mw : monitorStates) {
- if (mw->monitor.expired())
+ if (mw->monitor.expired() || !mw->monitor->output)
continue;
if ((mw->softwareLocks > 0 || mw->hardwareFailed || *PNOHW) && b.overlaps({mw->monitor->vecPosition, mw->monitor->vecSize})) {
@@ -789,7 +789,7 @@ void CPointerManager::warpAbsolute(Vector2D abs, SP<IHID> dev) {
void CPointerManager::onMonitorLayoutChange() {
currentMonitorLayout.monitorBoxes.clear();
for (auto const& m : g_pCompositor->m_vMonitors) {
- if (m->isMirror() || !m->m_bEnabled)
+ if (m->isMirror() || !m->m_bEnabled || !m->output)
continue;
currentMonitorLayout.monitorBoxes.emplace_back(CBox{m->vecPosition, m->vecSize});