[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24859] trunk/blender/source/blender: Depsgraph/Drivers

Brecht Van Lommel brecht at blender.org
Tue Nov 24 12:48:16 CET 2009


Revision: 24859
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24859
Author:   blendix
Date:     2009-11-24 12:48:16 +0100 (Tue, 24 Nov 2009)

Log Message:
-----------
Depsgraph/Drivers

* Removed ED_anim_dag_flush_update and ED_anim_object_flush_update. These
  were wrapping DAG_* calls and were intended be used instead of them when
  doing a DAG update from editors. That goes against the design in my opinion,
  no matter who calls the DAG, that should update the editors correctly, so
  any special checks in such functions for editors should be avoided.

* Driver RNA properties now do updates again, including DAG scene sorting,
  text buttons no longer update as you type anymore, so this should be
  safe I think.

* Remove scene.update() RNA function, all properties/functions should do this
  automatically, if changing some property or calling a function/operator
  does not do the correct update, that should be fixed.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/anim_deps.c
    trunk/blender/source/blender/editors/animation/drivers.c
    trunk/blender/source/blender/editors/animation/keyframing.c
    trunk/blender/source/blender/editors/animation/keyingsets.c
    trunk/blender/source/blender/editors/armature/poseobject.c
    trunk/blender/source/blender/editors/include/ED_anim_api.h
    trunk/blender/source/blender/editors/object/object_add.c
    trunk/blender/source/blender/editors/object/object_edit.c
    trunk/blender/source/blender/editors/object/object_relations.c
    trunk/blender/source/blender/editors/object/object_transform.c
    trunk/blender/source/blender/editors/space_graph/graph_buttons.c
    trunk/blender/source/blender/editors/space_view3d/view3d_snap.c
    trunk/blender/source/blender/makesrna/intern/rna_fcurve.c
    trunk/blender/source/blender/makesrna/intern/rna_scene_api.c

Modified: trunk/blender/source/blender/editors/animation/anim_deps.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_deps.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/animation/anim_deps.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -55,20 +55,6 @@
 #include "WM_api.h"
 #include "WM_types.h"
 
-/* ***************** depsgraph calls and anim updates ************* */
-/* ***************** only these can be called from editors ******** */
-
-void ED_anim_dag_flush_update(const bContext *C)
-{
-	DAG_ids_flush_update(0);
-}
-
-/* flushes changes from object to all relations in scene */
-void ED_anim_object_flush_update(const bContext *C, Object *ob)
-{
-	DAG_id_update_flags(&ob->id);
-}
-
 /* **************************** pose <-> action syncing ******************************** */
 /* Summary of what needs to be synced between poses and actions:
  *	1) Flags

Modified: trunk/blender/source/blender/editors/animation/drivers.c
===================================================================
--- trunk/blender/source/blender/editors/animation/drivers.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/animation/drivers.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -398,7 +398,7 @@
 	
 	if (success) {
 		/* send updates */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 		
 		/* for now, only send ND_KEYS for KeyingSets */
 		WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
@@ -462,7 +462,7 @@
 	
 	if (success) {
 		/* send updates */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 		
 		/* for now, only send ND_KEYS for KeyingSets */
 		WM_event_add_notifier(C, ND_KEYS, NULL);  // XXX

Modified: trunk/blender/source/blender/editors/animation/keyframing.c
===================================================================
--- trunk/blender/source/blender/editors/animation/keyframing.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/animation/keyframing.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -1023,7 +1023,7 @@
 	}
 	
 	/* send updates */
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 	
 	return OPERATOR_FINISHED;
 }
@@ -1210,7 +1210,7 @@
 	}
 	
 	/* send updates */
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 	
 	return OPERATOR_FINISHED;
 }
@@ -1277,7 +1277,7 @@
 	CTX_DATA_END;
 	
 	/* send updates */
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 	
 	WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, NULL);
 	
@@ -1367,7 +1367,7 @@
 	
 	if (success) {
 		/* send updates */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 		
 		/* for now, only send ND_KEYS for KeyingSets */
 		WM_event_add_notifier(C, ND_KEYS, NULL);
@@ -1437,7 +1437,7 @@
 	
 	if(success) {
 		/* send updates */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 		
 		/* for now, only send ND_KEYS for KeyingSets */
 		WM_event_add_notifier(C, ND_KEYS, NULL);

Modified: trunk/blender/source/blender/editors/animation/keyingsets.c
===================================================================
--- trunk/blender/source/blender/editors/animation/keyingsets.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/animation/keyingsets.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -366,7 +366,7 @@
 	
 	if (success) {
 		/* send updates */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 		
 		/* for now, only send ND_KEYS for KeyingSets */
 		WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
@@ -444,7 +444,7 @@
 	
 	if (success) {
 		/* send updates */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 		
 		/* for now, only send ND_KEYS for KeyingSets */
 		WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);

Modified: trunk/blender/source/blender/editors/armature/poseobject.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poseobject.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/armature/poseobject.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -241,10 +241,10 @@
 	/* hack: for unsaved files, set OB_RECALC so that paths can get calculated */
 	if ((ob->recalc & OB_RECALC)==0) {
 		ob->recalc |= OB_RECALC;
-		ED_anim_object_flush_update(C, ob);
+		DAG_id_update_flags(&ob->id);
 	}
 	else
-		ED_anim_object_flush_update(C, ob);
+		DAG_id_update_flags(&ob->id);
 	
 	/* calculate path over requested range */
 	for (CFRA=sfra; CFRA<=efra; CFRA++) {
@@ -355,10 +355,10 @@
 	/* hack: for unsaved files, set OB_RECALC so that paths can get calculated */
 	if ((ob->recalc & OB_RECALC)==0) {
 		ob->recalc |= OB_RECALC;
-		ED_anim_object_flush_update(C, ob);
+		DAG_id_update_flags(&ob->id);
 	}
 	else
-		ED_anim_object_flush_update(C, ob);
+		DAG_id_update_flags(&ob->id);
 	
 	/* alloc the path cache arrays */
 	for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {

Modified: trunk/blender/source/blender/editors/include/ED_anim_api.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_anim_api.h	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/include/ED_anim_api.h	2009-11-24 11:48:16 UTC (rev 24859)
@@ -481,11 +481,6 @@
 
 /* --------- anim_deps.c, animation updates -------- */
 
-	/* generic update flush, does tagged objects only, reads from Context screen (layers) and scene */
-void ED_anim_dag_flush_update(const struct bContext *C);
-	/* only flush object */
-void ED_anim_object_flush_update(const struct bContext *C, struct Object *ob);
-
 /* pose <-> action syncing */
 void ANIM_action_to_pose_sync(struct Object *ob);
 void ANIM_pose_to_action_sync(struct Object *ob, struct ScrArea *sa);

Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/object/object_add.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -755,7 +755,7 @@
 	if(islamp) reshadeall_displist(scene);	/* only frees displist */
 	
 	DAG_scene_sort(scene);
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 	
 	WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, CTX_data_scene(C));
 	
@@ -951,7 +951,7 @@
 	CTX_DATA_END;
 
 	DAG_scene_sort(scene);
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_SCENE, scene);
 	
 	return OPERATOR_FINISHED;
@@ -1480,7 +1480,7 @@
 	copy_object_set_idnew(C, dupflag);
 
 	DAG_scene_sort(scene);
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 
 	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
 

Modified: trunk/blender/source/blender/editors/object/object_edit.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_edit.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/object/object_edit.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -1062,7 +1062,7 @@
 		}
 	}
 	
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 }
  
 static void copymenu_properties(Scene *scene, View3D *v3d, Object *ob)
@@ -1549,8 +1549,7 @@
 	if(do_scene_sort)
 		DAG_scene_sort(scene);
 
-	ED_anim_dag_flush_update(C);	
-
+	DAG_ids_flush_update(0);
 }
 
 void copy_attr_menu(Scene *scene, View3D *v3d)

Modified: trunk/blender/source/blender/editors/object/object_relations.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_relations.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/object/object_relations.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -458,7 +458,7 @@
 	CTX_DATA_END;
 	
 	DAG_scene_sort(CTX_data_scene(C));
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
 
 	return OPERATOR_FINISHED;
@@ -684,7 +684,7 @@
 	CTX_DATA_END;
 	
 	DAG_scene_sort(scene);
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
 	
 	return OPERATOR_FINISHED;
@@ -772,7 +772,7 @@
 	CTX_DATA_END;
 	
 	DAG_scene_sort(CTX_data_scene(C));
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
 	
 	return OPERATOR_FINISHED;
@@ -812,7 +812,7 @@
 	}
 	CTX_DATA_END;
 
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_SCENE, scene);
 	
 	return OPERATOR_FINISHED;
@@ -850,7 +850,7 @@
 	}
 	CTX_DATA_END;
 
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_SCENE, scene);
 	
 	return OPERATOR_FINISHED;
@@ -899,8 +899,8 @@
 	}
 	CTX_DATA_END;
 
+	DAG_ids_flush_update(0);
 	DAG_scene_sort(CTX_data_scene(C));
-	ED_anim_dag_flush_update(C);
 
 	return OPERATOR_FINISHED;
 }
@@ -992,7 +992,7 @@
 		CTX_DATA_END;
 	}
 	DAG_scene_sort(scene);
-	ED_anim_dag_flush_update(C);	
+	DAG_ids_flush_update(0);
 	
 	return OPERATOR_FINISHED;
 }
@@ -1172,7 +1172,7 @@
 	}
 	CTX_DATA_END;
 
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 
 	/* one day multiple scenes will be visible, then we should have some update function for them */
 	return OPERATOR_FINISHED;
@@ -1240,7 +1240,7 @@
 	}
 	CTX_DATA_END;
 
-	ED_anim_dag_flush_update(C);
+	DAG_ids_flush_update(0);
 	WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, CTX_wm_view3d(C));
 	return OPERATOR_FINISHED;
 }

Modified: trunk/blender/source/blender/editors/object/object_transform.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_transform.c	2009-11-24 11:40:35 UTC (rev 24858)
+++ trunk/blender/source/blender/editors/object/object_transform.c	2009-11-24 11:48:16 UTC (rev 24859)
@@ -341,7 +341,7 @@
 	CTX_DATA_END;
 
 	if(armature_clear==0) /* in this case flush was done */
-		ED_anim_dag_flush_update(C);	
+		DAG_ids_flush_update(0);
 	
 	WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
 	
@@ -1010,7 +1010,7 @@
 	CTX_DATA_END;
 	
 	if (tot_change) {
-		ED_anim_dag_flush_update(C);
+		DAG_ids_flush_update(0);
 	}
 	
 	/* Warn if any errors occured */

Modified: trunk/blender/source/blender/editors/space_graph/graph_buttons.c
===================================================================

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list