Fix particle system duplication duplicates all systems
Followup to rB3834dc2f7b38 (where getting the proper particle system was fixed for the Adjust Last Operation panel in the Properties Editor). But since this operator can also be called from the 3DView, get a current particle system there as well. Without this, _all_ particle systems would be copied when executing from the 3DView (which was never really intended [operator description uses singular] -- it just happens to use `copy_particle_systems_to_object` internally as well -- same as the `Copy Active/All to Selected Objects` operators)). ref. T83317 Maniphest Tasks: T83317 Differential Revision: https://developer.blender.org/D12033
This commit is contained in:
parent
dfc597202f
commit
f9308a585e
Notes:
blender-bot
2023-02-14 10:29:30 +01:00
Referenced by issue #88449, Blender LTS: Maintenance Task 2.93 Referenced by issue #83317, Hair particles duplication with duplicate settings enabled copies all the particles instead of one selected
|
@ -1331,7 +1331,12 @@ static int duplicate_particle_systems_exec(bContext *C, wmOperator *op)
|
|||
const bool duplicate_settings = RNA_boolean_get(op->ptr, "use_duplicate_settings");
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
Object *ob = ED_object_active_context(C);
|
||||
/* Context pointer is only valid in the Properties Editor. */
|
||||
ParticleSystem *psys = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem).data;
|
||||
if (psys == NULL) {
|
||||
psys = psys_get_current(ob);
|
||||
}
|
||||
|
||||
copy_particle_systems_to_object(
|
||||
C, scene, ob, psys, ob, PAR_COPY_SPACE_OBJECT, duplicate_settings);
|
||||
return OPERATOR_FINISHED;
|
||||
|
|
Loading…
Reference in New Issue