[Bf-blender-cvs] [18262bcb1e9] blender2.8: Fix missing libquery processing of ID pointers in GPencil Modifiers.

Bastien Montagne noreply at git.blender.org
Thu Sep 27 16:34:55 CEST 2018


Commit: 18262bcb1e9d12ed58efd26f315129e2966aa2a4
Author: Bastien Montagne
Date:   Thu Sep 27 16:33:47 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB18262bcb1e9d12ed58efd26f315129e2966aa2a4

Fix missing libquery processing of ID pointers in GPencil Modifiers.

...

===================================================================

M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/blenkernel/intern/library_query.c

===================================================================

diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index ed9c6568c95..1e05a8c271c 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -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;
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c
index 2f125beec5f..7938d82eb80 100644
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@ -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) {



More information about the Bf-blender-cvs mailing list