summaryrefslogtreecommitdiff
path: root/src/managers/AnimationManager.cpp
diff options
context:
space:
mode:
authorTyler Schneider <teschnei@gmail.com>2023-04-23 15:28:18 -0600
committerGitHub <noreply@github.com>2023-04-23 22:28:18 +0100
commit67c73ec10036c5ff9bda392390ecc7af48d4feee (patch)
tree51a0ea47c6e1331d1d41a8ece10035387def7de2 /src/managers/AnimationManager.cpp
parentf7579fc9231e3c73d5b94e66277f49d03d243b00 (diff)
Fixed a crash when waking up monitors in power-saving mode (#2139)
Diffstat (limited to 'src/managers/AnimationManager.cpp')
-rw-r--r--src/managers/AnimationManager.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/managers/AnimationManager.cpp b/src/managers/AnimationManager.cpp
index aaf42658..dd18e8ae 100644
--- a/src/managers/AnimationManager.cpp
+++ b/src/managers/AnimationManager.cpp
@@ -82,13 +82,19 @@ void CAnimationManager::tick() {
if (PWINDOW) {
WLRBOXPREV = PWINDOW->getFullWindowBoundingBox();
PMONITOR = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID);
+ if (!PMONITOR)
+ continue;
animationsDisabled = animationsDisabled || PWINDOW->m_sAdditionalConfigData.forceNoAnims;
} else if (PWORKSPACE) {
PMONITOR = g_pCompositor->getMonitorFromID(PWORKSPACE->m_iMonitorID);
+ if (!PMONITOR)
+ continue;
WLRBOXPREV = {(int)PMONITOR->vecPosition.x, (int)PMONITOR->vecPosition.y, (int)PMONITOR->vecSize.x, (int)PMONITOR->vecSize.y};
} else if (PLAYER) {
WLRBOXPREV = PLAYER->geometry;
PMONITOR = g_pCompositor->getMonitorFromVector(Vector2D(PLAYER->geometry.x, PLAYER->geometry.y) + Vector2D(PLAYER->geometry.width, PLAYER->geometry.height) / 2.f);
+ if (!PMONITOR)
+ continue;
animationsDisabled = animationsDisabled || PLAYER->noAnimations;
}