libobs: Duplicate private scene/source settings

Ensures that private settings data is also duplicated when a scene or a
source is duplicated.
master
jp9000 2017-11-30 05:04:39 -08:00
parent b5c036974f
commit e70b226e7e
2 changed files with 5 additions and 0 deletions

View File

@ -1095,6 +1095,9 @@ obs_scene_t *obs_scene_duplicate(obs_scene_t *scene, const char *name,
new_scene = make_private ?
obs_scene_create_private(name) : obs_scene_create(name);
obs_data_apply(new_scene->source->private_settings,
scene->source->private_settings);
for (size_t i = 0; i < items.num; i++) {
item = items.array[i];
source = make_unique ?

View File

@ -468,6 +468,8 @@ obs_source_t *obs_source_duplicate(obs_source_t *source,
new_source->muted = source->muted;
new_source->flags = source->flags;
obs_data_apply(new_source->private_settings, source->private_settings);
if (source->info.type != OBS_SOURCE_TYPE_FILTER)
duplicate_filters(new_source, source, create_private);