Fix missing libquery processing of ID pointers in GPencil Modifiers.
...
This commit is contained in:
parent
3da46a8d8d
commit
18262bcb1e
|
@ -648,7 +648,9 @@ void BKE_gpencil_modifiers_foreachIDLink(Object *ob, GreasePencilIDWalkFunc walk
|
|||
for (; md; md = md->next) {
|
||||
const GpencilModifierTypeInfo *mti = BKE_gpencil_modifierType_getInfo(md->type);
|
||||
|
||||
if (mti->foreachIDLink) mti->foreachIDLink(md, ob, walk, userData);
|
||||
if (mti->foreachIDLink) {
|
||||
mti->foreachIDLink(md, ob, walk, userData);
|
||||
}
|
||||
else if (mti->foreachObjectLink) {
|
||||
/* each Object can masquerade as an ID, so this should be OK */
|
||||
GreasePencilObjectWalkFunc fp = (GreasePencilObjectWalkFunc)walk;
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
#include "BKE_collection.h"
|
||||
#include "BKE_constraint.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
#include "BKE_idprop.h"
|
||||
#include "BKE_library.h"
|
||||
#include "BKE_library_query.h"
|
||||
|
@ -195,6 +196,15 @@ static void library_foreach_modifiersForeachIDLink(
|
|||
FOREACH_FINALIZE_VOID;
|
||||
}
|
||||
|
||||
static void library_foreach_gpencil_modifiersForeachIDLink(
|
||||
void *user_data, Object *UNUSED(object), ID **id_pointer, int cb_flag)
|
||||
{
|
||||
LibraryForeachIDData *data = (LibraryForeachIDData *) user_data;
|
||||
FOREACH_CALLBACK_INVOKE_ID_PP(data, id_pointer, cb_flag);
|
||||
|
||||
FOREACH_FINALIZE_VOID;
|
||||
}
|
||||
|
||||
static void library_foreach_constraintObjectLooper(bConstraint *UNUSED(con), ID **id_pointer,
|
||||
bool is_reference, void *user_data)
|
||||
{
|
||||
|
@ -570,6 +580,7 @@ void BKE_library_foreach_ID_link(Main *bmain, ID *id, LibraryIDLinkCallback call
|
|||
}
|
||||
|
||||
modifiers_foreachIDLink(object, library_foreach_modifiersForeachIDLink, &data);
|
||||
BKE_gpencil_modifiers_foreachIDLink(object, library_foreach_gpencil_modifiersForeachIDLink, &data);
|
||||
BKE_constraints_id_loop(&object->constraints, library_foreach_constraintObjectLooper, &data);
|
||||
|
||||
for (psys = object->particlesystem.first; psys; psys = psys->next) {
|
||||
|
|
Loading…
Reference in New Issue