diff --git a/src/switch-random.cpp b/src/switch-random.cpp index b3dc1af6..931074c0 100644 --- a/src/switch-random.cpp +++ b/src/switch-random.cpp @@ -47,6 +47,9 @@ void SwitcherData::checkRandom(bool &match, OBSWeakSource &scene, std::mt19937 urng(rng()); std::shuffle(rs.begin(), rs.end(), urng); for (RandomSwitch &r : rs) { + if (!r.initialized()) + continue; + if (r.scene == lastRandomScene) continue; scene = r.scene; diff --git a/src/switch-screen-region.cpp b/src/switch-screen-region.cpp index 6ceeb1fb..6620b980 100644 --- a/src/switch-screen-region.cpp +++ b/src/switch-screen-region.cpp @@ -129,6 +129,9 @@ void SwitcherData::checkScreenRegionSwitch(bool &match, OBSWeakSource &scene, int minRegionSize = 99999; for (auto &s : screenRegionSwitches) { + if (!s.initialized()) + continue; + if (cursorPos.first >= s.minX && cursorPos.second >= s.minY && cursorPos.first <= s.maxX && cursorPos.second <= s.maxY) { int regionSize = (s.maxX - s.minX) + (s.maxY - s.minY); diff --git a/src/switch-time.cpp b/src/switch-time.cpp index 0ac7d8bf..c3764808 100644 --- a/src/switch-time.cpp +++ b/src/switch-time.cpp @@ -113,6 +113,9 @@ void SwitcherData::checkTimeSwitch(bool &match, OBSWeakSource &scene, return; for (TimeSwitch &s : timeSwitches) { + if (!s.initialized()) + continue; + if (s.trigger == LIVE) match = checkLiveTime(s, liveTime, interval); else diff --git a/src/switch-window.cpp b/src/switch-window.cpp index aae693d5..6e88b663 100644 --- a/src/switch-window.cpp +++ b/src/switch-window.cpp @@ -215,6 +215,9 @@ void SwitcherData::checkWindowTitleSwitch(bool &match, OBSWeakSource &scene, // Check for match for (WindowSwitch &s : windowSwitches) { + if (!s.initialized()) + continue; + // True if fullscreen is disabled OR current window is fullscreen bool fullscreen = (!s.fullscreen || isFullscreen(s.window)); // True if maximized is disabled OR current window is maximized