diff options
author | Bastien Montagne <bastien@blender.org> | 2020-10-21 12:38:32 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-10-21 12:38:32 +0300 |
commit | 819b1a7f9da05cc49c8cbe56a98886ed58bbc31c (patch) | |
tree | 3bccc487c5143560752bea3f4d5c48d31bdc70a2 /source | |
parent | 22ceb4a752e8f29d95793fdc81226f7f2dc0c92e (diff) |
Cleanup: Move scenes' foreach_id handling of toolsettings into own func.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 77 |
1 files changed, 41 insertions, 36 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 2475cbeabba..416f5aa7edd 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -463,6 +463,46 @@ static void scene_foreach_paint(LibraryForeachIDData *data, Paint *paint) BKE_LIB_FOREACHID_PROCESS(data, paint->palette, IDWALK_CB_USER); } +static void scene_foreach_toolsettings(LibraryForeachIDData *data, ToolSettings *toolsett) +{ + BKE_LIB_FOREACHID_PROCESS(data, toolsett->particle.scene, IDWALK_CB_NOP); + BKE_LIB_FOREACHID_PROCESS(data, toolsett->particle.object, IDWALK_CB_NOP); + BKE_LIB_FOREACHID_PROCESS(data, toolsett->particle.shape_object, IDWALK_CB_NOP); + + scene_foreach_paint(data, &toolsett->imapaint.paint); + BKE_LIB_FOREACHID_PROCESS(data, toolsett->imapaint.stencil, IDWALK_CB_USER); + BKE_LIB_FOREACHID_PROCESS(data, toolsett->imapaint.clone, IDWALK_CB_USER); + BKE_LIB_FOREACHID_PROCESS(data, toolsett->imapaint.canvas, IDWALK_CB_USER); + + if (toolsett->vpaint) { + scene_foreach_paint(data, &toolsett->vpaint->paint); + } + if (toolsett->wpaint) { + scene_foreach_paint(data, &toolsett->wpaint->paint); + } + if (toolsett->sculpt) { + scene_foreach_paint(data, &toolsett->sculpt->paint); + BKE_LIB_FOREACHID_PROCESS(data, toolsett->sculpt->gravity_object, IDWALK_CB_NOP); + } + if (toolsett->uvsculpt) { + scene_foreach_paint(data, &toolsett->uvsculpt->paint); + } + if (toolsett->gp_paint) { + scene_foreach_paint(data, &toolsett->gp_paint->paint); + } + if (toolsett->gp_vertexpaint) { + scene_foreach_paint(data, &toolsett->gp_vertexpaint->paint); + } + if (toolsett->gp_sculptpaint) { + scene_foreach_paint(data, &toolsett->gp_sculptpaint->paint); + } + if (toolsett->gp_weightpaint) { + scene_foreach_paint(data, &toolsett->gp_weightpaint->paint); + } + + BKE_LIB_FOREACHID_PROCESS(data, toolsett->gp_sculpt.guide.reference_object, IDWALK_CB_NOP); +} + static void scene_foreach_layer_collection(LibraryForeachIDData *data, ListBase *lb) { LISTBASE_FOREACH (LayerCollection *, lc, lb) { @@ -552,42 +592,7 @@ static void scene_foreach_id(ID *id, LibraryForeachIDData *data) ToolSettings *toolsett = scene->toolsettings; if (toolsett) { - BKE_LIB_FOREACHID_PROCESS(data, toolsett->particle.scene, IDWALK_CB_NOP); - BKE_LIB_FOREACHID_PROCESS(data, toolsett->particle.object, IDWALK_CB_NOP); - BKE_LIB_FOREACHID_PROCESS(data, toolsett->particle.shape_object, IDWALK_CB_NOP); - - scene_foreach_paint(data, &toolsett->imapaint.paint); - BKE_LIB_FOREACHID_PROCESS(data, toolsett->imapaint.stencil, IDWALK_CB_USER); - BKE_LIB_FOREACHID_PROCESS(data, toolsett->imapaint.clone, IDWALK_CB_USER); - BKE_LIB_FOREACHID_PROCESS(data, toolsett->imapaint.canvas, IDWALK_CB_USER); - - if (toolsett->vpaint) { - scene_foreach_paint(data, &toolsett->vpaint->paint); - } - if (toolsett->wpaint) { - scene_foreach_paint(data, &toolsett->wpaint->paint); - } - if (toolsett->sculpt) { - scene_foreach_paint(data, &toolsett->sculpt->paint); - BKE_LIB_FOREACHID_PROCESS(data, toolsett->sculpt->gravity_object, IDWALK_CB_NOP); - } - if (toolsett->uvsculpt) { - scene_foreach_paint(data, &toolsett->uvsculpt->paint); - } - if (toolsett->gp_paint) { - scene_foreach_paint(data, &toolsett->gp_paint->paint); - } - if (toolsett->gp_vertexpaint) { - scene_foreach_paint(data, &toolsett->gp_vertexpaint->paint); - } - if (toolsett->gp_sculptpaint) { - scene_foreach_paint(data, &toolsett->gp_sculptpaint->paint); - } - if (toolsett->gp_weightpaint) { - scene_foreach_paint(data, &toolsett->gp_weightpaint->paint); - } - - BKE_LIB_FOREACHID_PROCESS(data, toolsett->gp_sculpt.guide.reference_object, IDWALK_CB_NOP); + scene_foreach_toolsettings(data, toolsett); } if (scene->rigidbody_world) { |