mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-14 23:34:08 +00:00
libobs: Copy private scene item data when duplicating scenes
For example, this makes sure scene item colors are copied when duplicating a scene. This also removed the now redundant private data variable.
This commit is contained in:
parent
fe716ef39e
commit
d291830d23
|
@ -1636,8 +1636,7 @@ static inline obs_source_t *new_ref(obs_source_t *source)
|
|||
static inline void duplicate_item_data(struct obs_scene_item *dst,
|
||||
struct obs_scene_item *src,
|
||||
bool defer_texture_update,
|
||||
bool duplicate_hotkeys,
|
||||
bool duplicate_private_data)
|
||||
bool duplicate_hotkeys)
|
||||
{
|
||||
struct obs_scene *dst_scene = dst->parent;
|
||||
|
||||
|
@ -1697,9 +1696,7 @@ static inline void duplicate_item_data(struct obs_scene_item *dst,
|
|||
os_atomic_set_bool(&dst->update_transform, true);
|
||||
}
|
||||
|
||||
if (duplicate_private_data) {
|
||||
obs_data_apply(dst->private_settings, src->private_settings);
|
||||
}
|
||||
obs_data_apply(dst->private_settings, src->private_settings);
|
||||
}
|
||||
|
||||
obs_scene_t *obs_scene_duplicate(obs_scene_t *scene, const char *name,
|
||||
|
@ -1760,8 +1757,7 @@ obs_scene_t *obs_scene_duplicate(obs_scene_t *scene, const char *name,
|
|||
continue;
|
||||
}
|
||||
|
||||
duplicate_item_data(new_item, item, false, false,
|
||||
false);
|
||||
duplicate_item_data(new_item, item, false, false);
|
||||
|
||||
obs_source_release(source);
|
||||
}
|
||||
|
@ -3425,7 +3421,7 @@ void obs_sceneitem_group_ungroup(obs_sceneitem_t *item)
|
|||
|
||||
remove_group_transform(item, last);
|
||||
dst = obs_scene_add_internal(scene, last->source, insert_after);
|
||||
duplicate_item_data(dst, last, true, true, true);
|
||||
duplicate_item_data(dst, last, true, true);
|
||||
apply_group_transform(last, item);
|
||||
|
||||
if (!last->next)
|
||||
|
|
Loading…
Reference in a new issue