[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18716] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Wed Jan 28 14:16:44 CET 2009


Revision: 18716
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18716
Author:   ton
Date:     2009-01-28 14:16:43 +0100 (Wed, 28 Jan 2009)

Log Message:
-----------
2.5

Joshua asked me to check depsgraph drivers; i've added the
very minimal case, but further I'm stuck, need help.
Also made region listeners for Graph Editor work for all.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/depsgraph.c
    branches/blender2.5/blender/source/blender/editors/space_ipo/space_ipo.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/depsgraph.c	2009-01-28 12:34:22 UTC (rev 18715)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/depsgraph.c	2009-01-28 13:16:43 UTC (rev 18716)
@@ -347,11 +347,16 @@
 			// XXX rotational difference 
 		}
 		else if (driver->id) {
-			/* normal channel-drives-channel */
-			node1 = dag_get_node(dag, driver->id);	// XXX we assume that id is an object...
+			if(GS(driver->id->name)==ID_OB) {
+				/* normal channel-drives-channel */
+				node1 = dag_get_node(dag, driver->id);
 			
-			// XXX what happens for bone drivers?
-			dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Ipo Driver");
+				// XXX how to find out rnapath is bone?
+				if( ((Object *)driver->id)->type==OB_ARMATURE )
+					dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Ipo Driver");
+				else
+					dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Ipo Driver");
+			}
 		}
 #if 0 // XXX old 'normal' type
 

Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/space_ipo.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_ipo/space_ipo.c	2009-01-28 12:34:22 UTC (rev 18715)
+++ branches/blender2.5/blender/source/blender/editors/space_ipo/space_ipo.c	2009-01-28 13:16:43 UTC (rev 18716)
@@ -279,7 +279,7 @@
 	UI_view2d_view_restore(C);
 }
 
-static void graph_main_area_listener(ARegion *ar, wmNotifier *wmn)
+static void graph_region_listener(ARegion *ar, wmNotifier *wmn)
 {
 	/* context changes */
 	switch(wmn->category) {
@@ -377,7 +377,7 @@
 	art->regionid = RGN_TYPE_WINDOW;
 	art->init= graph_main_area_init;
 	art->draw= graph_main_area_draw;
-	art->listener= graph_main_area_listener;
+	art->listener= graph_region_listener;
 	art->keymapflag= ED_KEYMAP_VIEW2D/*|ED_KEYMAP_MARKERS*/|ED_KEYMAP_ANIMATION|ED_KEYMAP_FRAMES;
 
 	BLI_addhead(&st->regiontypes, art);
@@ -387,7 +387,7 @@
 	art->regionid = RGN_TYPE_HEADER;
 	art->minsizey= HEADERY;
 	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES;
-	
+	art->listener= graph_region_listener;
 	art->init= graph_header_area_init;
 	art->draw= graph_header_area_draw;
 	
@@ -398,7 +398,7 @@
 	art->regionid = RGN_TYPE_CHANNELS;
 	art->minsizex= 200;
 	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES;
-	
+	art->listener= graph_region_listener;
 	art->init= graph_channel_area_init;
 	art->draw= graph_channel_area_draw;
 	





More information about the Bf-blender-cvs mailing list