summaryrefslogtreecommitdiff
path: root/src/managers/animation/AnimationManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/animation/AnimationManager.cpp')
-rw-r--r--src/managers/animation/AnimationManager.cpp52
1 files changed, 28 insertions, 24 deletions
diff --git a/src/managers/animation/AnimationManager.cpp b/src/managers/animation/AnimationManager.cpp
index b4255a33..9a3fc157 100644
--- a/src/managers/animation/AnimationManager.cpp
+++ b/src/managers/animation/AnimationManager.cpp
@@ -209,30 +209,34 @@ void CHyprAnimationManager::tick() {
static auto PANIMENABLED = CConfigValue<Hyprlang::INT>("animations:enabled");
- for (const auto& PAV : m_vActiveAnimatedVariables) {
- if (!PAV)
- continue;
-
- // for disabled anims just warp
- bool warp = !*PANIMENABLED || !PAV->enabled();
-
- switch (PAV->m_Type) {
- case AVARTYPE_FLOAT: {
- auto pTypedAV = dc<CAnimatedVariable<float>*>(PAV.get());
- RASSERT(pTypedAV, "Failed to upcast animated float");
- handleUpdate(*pTypedAV, warp);
- } break;
- case AVARTYPE_VECTOR: {
- auto pTypedAV = dc<CAnimatedVariable<Vector2D>*>(PAV.get());
- RASSERT(pTypedAV, "Failed to upcast animated Vector2D");
- handleUpdate(*pTypedAV, warp);
- } break;
- case AVARTYPE_COLOR: {
- auto pTypedAV = dc<CAnimatedVariable<CHyprColor>*>(PAV.get());
- RASSERT(pTypedAV, "Failed to upcast animated CHyprColor");
- handleUpdate(*pTypedAV, warp);
- } break;
- default: UNREACHABLE();
+ if (!m_vActiveAnimatedVariables.empty()) {
+ const auto CPY = m_vActiveAnimatedVariables;
+
+ for (const auto& PAV : CPY) {
+ if (!PAV)
+ continue;
+
+ // for disabled anims just warp
+ bool warp = !*PANIMENABLED || !PAV->enabled();
+
+ switch (PAV->m_Type) {
+ case AVARTYPE_FLOAT: {
+ auto pTypedAV = dc<CAnimatedVariable<float>*>(PAV.get());
+ RASSERT(pTypedAV, "Failed to upcast animated float");
+ handleUpdate(*pTypedAV, warp);
+ } break;
+ case AVARTYPE_VECTOR: {
+ auto pTypedAV = dc<CAnimatedVariable<Vector2D>*>(PAV.get());
+ RASSERT(pTypedAV, "Failed to upcast animated Vector2D");
+ handleUpdate(*pTypedAV, warp);
+ } break;
+ case AVARTYPE_COLOR: {
+ auto pTypedAV = dc<CAnimatedVariable<CHyprColor>*>(PAV.get());
+ RASSERT(pTypedAV, "Failed to upcast animated CHyprColor");
+ handleUpdate(*pTypedAV, warp);
+ } break;
+ default: UNREACHABLE();
+ }
}
}