[Bf-blender-cvs] [7799374520e] soc-2019-npr: LANPR: Fixed modifier read pointer error by providing foreachObjectLink() callback.

YimingWu noreply at git.blender.org
Sun Jun 23 12:02:41 CEST 2019


Commit: 7799374520e1179d9b3614f4e5486da23bb52a73
Author: YimingWu
Date:   Sun Jun 23 16:11:21 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB7799374520e1179d9b3614f4e5486da23bb52a73

LANPR: Fixed modifier read pointer error by providing foreachObjectLink() callback.

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

M	source/blender/blenloader/intern/readfile.c
M	source/blender/draw/engines/lanpr/lanpr_ops.c
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/intern/MOD_featureline.c

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index f49f69f1aba..f08e789b695 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5798,6 +5798,11 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
         }
       }
     }
+    else if (md->type == eModifierType_FeatureLine) {
+      FeatureLineModifierData *flmd= (FeatureLineModifierData *)md;
+
+      //flmd->target = newdataadr(fd, flmd->target);
+    }
   }
 }
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 79e675d67d0..16248a8e8c1 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -4040,8 +4040,8 @@ int lanpr_compute_feature_lines_internal(Depsgraph *depsgraph)
 
   if (lanpr->enable_chaining) {
     lanpr_NO_THREAD_chain_feature_lines(rb);  // should use user_adjustable value
-    //lanpr_split_chains_for_fixed_occlusion(rb);
-    //anpr_connect_chains_image_space(rb);
+    lanpr_split_chains_for_fixed_occlusion(rb);
+    lanpr_connect_chains_image_space(rb);
   }
 
   rb->cached_for_frame = rb->scene->r.cfra;
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index ac51cd23820..d4733b33fe1 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -6049,6 +6049,7 @@ static void rna_def_modifier_featureline(BlenderRNA *brna)
   RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
   prop = RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
+  RNA_def_property_pointer_sdna(prop, NULL, "target");
   RNA_def_property_ui_text(prop, "Target", "GPencil object to put the stroke result");
   RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
   RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
diff --git a/source/blender/modifiers/intern/MOD_featureline.c b/source/blender/modifiers/intern/MOD_featureline.c
index 9377f55ab49..a0270aca8ef 100644
--- a/source/blender/modifiers/intern/MOD_featureline.c
+++ b/source/blender/modifiers/intern/MOD_featureline.c
@@ -40,6 +40,7 @@
 #include "BKE_modifier.h"
 #include "BKE_particle.h"
 #include "BKE_scene.h"
+#include "BKE_library_query.h"
 
 #include "DEG_depsgraph_query.h"
 
@@ -87,6 +88,13 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
   return mesh;
 }
 
+static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
+{
+  FeatureLineModifierData *flmd = (FeatureLineModifierData *)md;
+
+  walk(userData, ob, &flmd->target, IDWALK_NOP);
+}
+
 ModifierTypeInfo modifierType_FeatureLine = {
     /* name */ "Feature Line",
     /* structName */ "FeatureLineModifierData",
@@ -108,7 +116,7 @@ ModifierTypeInfo modifierType_FeatureLine = {
     /* updateDepsgraph */ NULL,
     /* dependsOnTime */ dependsOnTime,
     /* dependsOnNormals */ NULL,
-    /* foreachObjectLink */ NULL,
+    /* foreachObjectLink */ foreachObjectLink,
     /* foreachIDLink */ NULL,
     /* foreachTexLink */ NULL,
     /* freeRuntimeData */ NULL,



More information about the Bf-blender-cvs mailing list