mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-22 01:05:53 -05:00
fix mem leaks which could occur with new UI
This commit is contained in:
@@ -118,7 +118,8 @@ void SwitcherData::saveAudioSwitches(obs_data_t *obj)
|
||||
obs_weak_source_get_source(s.transition);
|
||||
obs_source_t *audioSrouce =
|
||||
obs_weak_source_get_source(s.audioSource);
|
||||
if ((s.usePreviousScene || sceneSource) && transition) {
|
||||
if ((s.usePreviousScene || sceneSource) && transition &&
|
||||
audioSrouce) {
|
||||
const char *sceneName =
|
||||
obs_source_get_name(sceneSource);
|
||||
const char *transitionName =
|
||||
|
||||
@@ -152,10 +152,9 @@ void SwitcherData::saveExecutableSwitches(obs_data_t *obj)
|
||||
s.exe.toUtf8());
|
||||
obs_data_set_bool(array_obj, "infocus", s.inFocus);
|
||||
obs_data_array_push_back(executableArray, array_obj);
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "executableSwitches", executableArray);
|
||||
|
||||
@@ -381,10 +381,9 @@ void SwitcherData::saveFileSwitches(obs_data_t *obj)
|
||||
obs_data_set_bool(array_obj, "useRegex", s.useRegex);
|
||||
obs_data_set_bool(array_obj, "useTime", s.useTime);
|
||||
obs_data_array_push_back(fileArray, array_obj);
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "fileSwitches", fileArray);
|
||||
|
||||
@@ -240,9 +240,8 @@ void SwitcherData::savePauseSwitches(obs_data_t *obj)
|
||||
const char *n = obs_source_get_name(source);
|
||||
obs_data_set_string(array_obj, "pauseScene", n);
|
||||
obs_data_array_push_back(pauseScenesArray, array_obj);
|
||||
obs_source_release(source);
|
||||
}
|
||||
|
||||
obs_source_release(source);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "pauseScenes", pauseScenesArray);
|
||||
|
||||
@@ -84,10 +84,9 @@ void SwitcherData::saveRandomSwitches(obs_data_t *obj)
|
||||
transitionName);
|
||||
obs_data_set_double(array_obj, "delay", s.delay);
|
||||
obs_data_array_push_back(randomArray, array_obj);
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "randomSwitches", randomArray);
|
||||
|
||||
@@ -179,10 +179,9 @@ void SwitcherData::saveScreenRegionSwitches(obs_data_t *obj)
|
||||
obs_data_set_int(array_obj, "maxX", s.maxX);
|
||||
obs_data_set_int(array_obj, "maxY", s.maxY);
|
||||
obs_data_array_push_back(screenRegionArray, array_obj);
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "screenRegion", screenRegionArray);
|
||||
|
||||
@@ -202,11 +202,11 @@ void SwitcherData::saveSceneSequenceSwitches(obs_data_t *obj)
|
||||
obs_data_set_int(array_obj, "delayMultiplier",
|
||||
s.delayMultiplier);
|
||||
obs_data_array_push_back(sceneSequenceArray, array_obj);
|
||||
obs_source_release(source1);
|
||||
obs_source_release(source2);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source1);
|
||||
obs_source_release(source2);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "sceneRoundTrip", sceneSequenceArray);
|
||||
|
||||
@@ -284,11 +284,10 @@ void SwitcherData::saveSceneTransitions(obs_data_t *obj)
|
||||
transitionName);
|
||||
obs_data_array_push_back(sceneTransitionsArray,
|
||||
array_obj);
|
||||
obs_source_release(source1);
|
||||
obs_source_release(source2);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source1);
|
||||
obs_source_release(source2);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "sceneTransitions", sceneTransitionsArray);
|
||||
@@ -310,10 +309,9 @@ void SwitcherData::saveSceneTransitions(obs_data_t *obj)
|
||||
transitionName);
|
||||
obs_data_array_push_back(defaultTransitionsArray,
|
||||
array_obj);
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "defaultTransitions", defaultTransitionsArray);
|
||||
|
||||
@@ -269,9 +269,9 @@ void SwitcherData::saveWindowTitleSwitches(obs_data_t *obj)
|
||||
obs_data_set_bool(array_obj, "maximized", s.maximized);
|
||||
obs_data_set_bool(array_obj, "focus", s.focus);
|
||||
obs_data_array_push_back(windowTitleArray, array_obj);
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
}
|
||||
obs_source_release(source);
|
||||
obs_source_release(transition);
|
||||
obs_data_release(array_obj);
|
||||
}
|
||||
obs_data_set_array(obj, "switches", windowTitleArray);
|
||||
|
||||
Reference in New Issue
Block a user