diff --git a/src/macro-core/macro-condition-scene-transform.cpp b/src/macro-core/macro-condition-scene-transform.cpp index 3b120dcc..44c2d1c7 100644 --- a/src/macro-core/macro-condition-scene-transform.cpp +++ b/src/macro-core/macro-condition-scene-transform.cpp @@ -17,13 +17,15 @@ bool MacroConditionSceneTransform::CheckCondition() bool ret = false; auto items = _source.GetSceneItems(_scene); + std::string json; for (auto &item : items) { - auto json = getSceneItemTransform(item); + json = getSceneItemTransform(item); if (matchJson(json, _settings, _regex)) { ret = true; } obs_sceneitem_release(item); } + SetVariableValue(json); return ret; } diff --git a/src/macro-core/macro-condition-scene-transform.hpp b/src/macro-core/macro-condition-scene-transform.hpp index e77fdd73..292eeb2f 100644 --- a/src/macro-core/macro-condition-scene-transform.hpp +++ b/src/macro-core/macro-condition-scene-transform.hpp @@ -10,7 +10,7 @@ class MacroConditionSceneTransform : public MacroCondition { public: - MacroConditionSceneTransform(Macro *m) : MacroCondition(m) {} + MacroConditionSceneTransform(Macro *m) : MacroCondition(m, true) {} bool CheckCondition(); bool Save(obs_data_t *obj) const; bool Load(obs_data_t *obj);