diff --git a/frontend/widgets/OBSBasic.hpp b/frontend/widgets/OBSBasic.hpp index e8169c50e81efb..ca4b29975e1a41 100644 --- a/frontend/widgets/OBSBasic.hpp +++ b/frontend/widgets/OBSBasic.hpp @@ -915,7 +915,6 @@ public slots: * ------------------------------------- */ private: - std::vector savedProjectorsArray; std::vector projectors; QPointer previewProjector; QPointer previewProjectorSource; @@ -942,7 +941,6 @@ private slots: void OpenSceneWindow(); public: - void OpenSavedProjectors(); void DeleteProjector(OBSProjector *projector); static QList GetProjectorMenuMonitorsFormatted(); diff --git a/frontend/widgets/OBSBasic_Preview.cpp b/frontend/widgets/OBSBasic_Preview.cpp index f9f334ac606b2c..1566130c7aab5d 100644 --- a/frontend/widgets/OBSBasic_Preview.cpp +++ b/frontend/widgets/OBSBasic_Preview.cpp @@ -566,7 +566,6 @@ void OBSBasic::ResetProjectors() OBSDataArrayAutoRelease savedProjectorList = SaveProjectors(); ClearProjectors(); LoadSavedProjectors(savedProjectorList); - OpenSavedProjectors(); } void OBSBasic::UpdatePreviewSafeAreas() diff --git a/frontend/widgets/OBSBasic_Projectors.cpp b/frontend/widgets/OBSBasic_Projectors.cpp index 4ffe09baccc562..37213cf3fbe0c7 100644 --- a/frontend/widgets/OBSBasic_Projectors.cpp +++ b/frontend/widgets/OBSBasic_Projectors.cpp @@ -63,25 +63,20 @@ obs_data_array_t *OBSBasic::SaveProjectors() void OBSBasic::LoadSavedProjectors(obs_data_array_t *array) { - for (SavedProjectorInfo *info : savedProjectorsArray) { - delete info; - } - savedProjectorsArray.clear(); - size_t num = obs_data_array_count(array); for (size_t i = 0; i < num; i++) { OBSDataAutoRelease data = obs_data_array_item(array, i); + SavedProjectorInfo info = {}; - SavedProjectorInfo *info = new SavedProjectorInfo(); - info->monitor = obs_data_get_int(data, "monitor"); - info->type = static_cast(obs_data_get_int(data, "type")); - info->geometry = std::string(obs_data_get_string(data, "geometry")); - info->name = std::string(obs_data_get_string(data, "name")); - info->alwaysOnTop = obs_data_get_bool(data, "alwaysOnTop"); - info->alwaysOnTopOverridden = obs_data_get_bool(data, "alwaysOnTopOverridden"); + info.monitor = obs_data_get_int(data, "monitor"); + info.type = static_cast(obs_data_get_int(data, "type")); + info.geometry = std::string(obs_data_get_string(data, "geometry")); + info.name = std::string(obs_data_get_string(data, "name")); + info.alwaysOnTop = obs_data_get_bool(data, "alwaysOnTop"); + info.alwaysOnTopOverridden = obs_data_get_bool(data, "alwaysOnTopOverridden"); - savedProjectorsArray.emplace_back(info); + OpenSavedProjector(&info); } } @@ -225,13 +220,6 @@ void OBSBasic::OpenSceneWindow() OpenProjector(obs_scene_get_source(scene), -1, ProjectorType::Scene); } -void OBSBasic::OpenSavedProjectors() -{ - for (SavedProjectorInfo *info : savedProjectorsArray) { - OpenSavedProjector(info); - } -} - void OBSBasic::OpenSavedProjector(SavedProjectorInfo *info) { if (info) { diff --git a/frontend/widgets/OBSBasic_SceneCollections.cpp b/frontend/widgets/OBSBasic_SceneCollections.cpp index 7703438a418962..32f42094935710 100644 --- a/frontend/widgets/OBSBasic_SceneCollections.cpp +++ b/frontend/widgets/OBSBasic_SceneCollections.cpp @@ -1279,7 +1279,6 @@ void OBSBasic::LoadData(obs_data_t *data, const char *file, bool remigrate) if (savedProjectors) { LoadSavedProjectors(savedProjectors); - OpenSavedProjectors(); activateWindow(); } }