[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43197] trunk/blender/source/blender/ editors/animation/anim_filter.c: Bugfix [#29806] World nodetrees not included in Animation Editor filtering

Joshua Leung aligorith at gmail.com
Fri Jan 6 05:03:40 CET 2012


Revision: 43197
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43197
Author:   aligorith
Date:     2012-01-06 04:03:31 +0000 (Fri, 06 Jan 2012)
Log Message:
-----------
Bugfix [#29806] World nodetrees not included in Animation Editor filtering

This was mostly only a problem when using Cycles, where NodeTrees are used to
control the world settings.

Also needed to knock out a few remnants of some bygone attempted optimisation
attempts which were preventing this from working (i.e. if a world block didn't
have any animdata, it's child nodetree would never get seen/tested). These
worked ok in the past, but are not that flexible for extension.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/anim_filter.c

Modified: trunk/blender/source/blender/editors/animation/anim_filter.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_filter.c	2012-01-06 02:59:28 UTC (rev 43196)
+++ trunk/blender/source/blender/editors/animation/anim_filter.c	2012-01-06 04:03:31 UTC (rev 43197)
@@ -1852,6 +1852,10 @@
 		/* textures for world */
 		if (!(ads->filterflag & ADS_FILTER_NOTEX))
 			items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)wo, filter_mode);
+			
+		/* nodes */
+		if ((wo->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE)) 
+			tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)wo, wo->nodetree, filter_mode);
 	}
 	END_ANIMFILTER_SUBCHANNELS;
 	
@@ -1947,12 +1951,12 @@
 		}
 		
 		/* world */
-		if ((wo && wo->adt) && !(ads->filterflag & ADS_FILTER_NOWOR)) {
+		if ((wo) && !(ads->filterflag & ADS_FILTER_NOWOR)) {
 			tmp_items += animdata_filter_ds_world(ac, &tmp_data, ads, sce, wo, filter_mode);
 		}
 		
 		/* nodetree */
-		if ((ntree && ntree->adt) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
+		if ((ntree) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
 			tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)sce, ntree, filter_mode);
 		}
 		



More information about the Bf-blender-cvs mailing list