[Bf-blender-cvs] [0dd4c3b] fracture_modifier: fix, enabled threading for autoexecute

Martin Felke noreply at git.blender.org
Mon Aug 8 20:13:29 CEST 2016


Commit: 0dd4c3bde7eff2a9954179b71fc93f5998e0b491
Author: Martin Felke
Date:   Mon Aug 8 20:13:08 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rB0dd4c3bde7eff2a9954179b71fc93f5998e0b491

fix, enabled threading for autoexecute

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

M	source/blender/blenkernel/intern/fracture.c
M	source/blender/editors/object/object_modifier.c
M	source/blender/modifiers/intern/MOD_fracture.c

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

diff --git a/source/blender/blenkernel/intern/fracture.c b/source/blender/blenkernel/intern/fracture.c
index 5e99ad4..b43e680 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -1394,7 +1394,9 @@ static void reset_shards(FractureModifierData *fmd)
 		}
 		fm->shard_count = 0;
 		/* do not reset again afterwards, in case we have multiple point sources */
-		fmd->reset_shards = false;
+		if (!fmd->execute_threaded) {
+			fmd->reset_shards = false;
+		}
 	}
 }
 
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 3f057e2..d1db93e 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2431,11 +2431,11 @@ static int fracture_refresh_exec(bContext *C, wmOperator *op)
 {
 	Object *obact = ED_object_active_context(C);
 	Scene *scene = CTX_data_scene(C);
-	float cfra = BKE_scene_frame_get(scene);
+	//float cfra = BKE_scene_frame_get(scene);
 	double start = 1.0;
 	FractureModifierData *rmd;
-	FractureJob *fj;
-	wmJob* wm_job;
+//	FractureJob *fj;
+//	wmJob* wm_job;
 	//RegionView3D *rv3d = CTX_wm_region_view3d(C);
 
 	rmd = (FractureModifierData *)modifiers_findByType(obact, eModifierType_Fracture);
diff --git a/source/blender/modifiers/intern/MOD_fracture.c b/source/blender/modifiers/intern/MOD_fracture.c
index 826b51b..58ac0d4 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -1533,7 +1533,10 @@ static void do_fracture(FractureModifierData *fmd, ShardID id, Object *obj, Deri
 		{
 			cleanup_splinters(fmd, mat, s, dm);
 		}
-		fmd->reset_shards = false;
+
+		if (!fmd->auto_execute && fmd->execute_threaded) {
+			fmd->reset_shards = false;
+		}
 	}
 	MEM_freeN(points.points);
 }




More information about the Bf-blender-cvs mailing list