Fix broken particle distribution after recent fix
This commit is contained in:
parent
c7cc97c7b9
commit
d3e0d7f082
Notes:
blender-bot
2023-05-31 04:43:10 +02:00
Referenced by commit a84c823b89
, Fix T58652: Crash editing shape keys weirdness with instances
Referenced by issue #58652, blender 2.8 - hard crash - editing shape keys weirdness with instances
|
@ -81,6 +81,7 @@ enum {
|
|||
LIB_ID_COPY_CACHES = 1 << 18, /* Copy runtime data caches. */
|
||||
LIB_ID_COPY_NO_ANIMDATA = 1 << 19, /* Don't copy id->adt, used by ID datablock localization routines. */
|
||||
LIB_ID_COPY_CD_REFERENCE = 1 << 20, /* Mesh: Reference CD data layers instead of doing real copy. */
|
||||
LIB_ID_COPY_RUNTIME = 1 << 21, /* Copy ID's runtime field (for example. object->runtime). */
|
||||
|
||||
/* XXX Hackish/not-so-nice specific behaviors needed for some corner cases.
|
||||
* Ideally we should not have those, but we need them for now... */
|
||||
|
|
|
@ -518,13 +518,14 @@ static int id_copy_libmanagement_cb(void *user_data, ID *UNUSED(id_self), ID **i
|
|||
return IDWALK_RET_NOP;
|
||||
}
|
||||
|
||||
static void id_copy_clear_runtime_if_needed(ID *id, int UNUSED(flag))
|
||||
static void id_copy_clear_runtime_if_needed(ID *id, int flag)
|
||||
{
|
||||
if (id == NULL) {
|
||||
return;
|
||||
}
|
||||
/* TODO(sergey): Think of having a flag which will allow to share runtime
|
||||
* fields of the ID.*/
|
||||
if (flag & LIB_ID_COPY_RUNTIME) {
|
||||
return;
|
||||
}
|
||||
switch ((ID_Type)GS(id->name)) {
|
||||
case ID_OB:
|
||||
{
|
||||
|
|
|
@ -701,7 +701,8 @@ Mesh *BKE_mesh_copy_for_eval(struct Mesh *source, bool reference)
|
|||
int flags = (LIB_ID_CREATE_NO_MAIN |
|
||||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_NO_PREVIEW);
|
||||
LIB_ID_COPY_NO_PREVIEW |
|
||||
LIB_ID_COPY_RUNTIME);
|
||||
|
||||
if (reference) {
|
||||
flags |= LIB_ID_COPY_CD_REFERENCE;
|
||||
|
|
|
@ -925,7 +925,8 @@ static int psys_thread_context_init_distribute(ParticleThreadContext *ctx, Parti
|
|||
LIB_ID_CREATE_NO_MAIN |
|
||||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_NO_PREVIEW,
|
||||
LIB_ID_COPY_NO_PREVIEW |
|
||||
LIB_ID_COPY_RUNTIME,
|
||||
false);
|
||||
|
||||
BKE_mesh_tessface_ensure(mesh);
|
||||
|
|
|
@ -198,7 +198,8 @@ Mesh *MOD_deform_mesh_eval_get(
|
|||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_NO_PREVIEW |
|
||||
LIB_ID_COPY_CD_REFERENCE),
|
||||
LIB_ID_COPY_CD_REFERENCE |
|
||||
LIB_ID_COPY_RUNTIME),
|
||||
false);
|
||||
mesh->runtime.deformed_only = 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue