[Bf-blender-cvs] [7897467] temp_widgets_update_tagging: Merge branch 'master' into temp_widgets_update_tagging

Julian Eisel noreply at git.blender.org
Sat Mar 26 01:07:15 CET 2016


Commit: 789746751827f635902cdecb3a695f2217102da8
Author: Julian Eisel
Date:   Sat Mar 26 01:07:06 2016 +0100
Branches: temp_widgets_update_tagging
https://developer.blender.org/rB789746751827f635902cdecb3a695f2217102da8

Merge branch 'master' into temp_widgets_update_tagging

Conflicts:
	source/blender/blenkernel/intern/library_query.c

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



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

diff --cc source/blender/blenkernel/intern/library_query.c
index 6e9bdbf,73b1294..f9f294c
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@@ -200,372 -252,375 +252,367 @@@ void BKE_library_foreach_ID_link(ID *id
  	data.callback = callback;
  	data.user_data = user_data;
  
- 	adt = BKE_animdata_from_id(id);
- 	if (adt) {
- 		library_foreach_animationData(&data, adt);
- 	}
- 
  #define CALLBACK_INVOKE_ID(check_id, cb_flag) \
- 	FOREACH_CALLBACK_INVOKE_ID(id, check_id, flag, callback, user_data, cb_flag)
+ 	FOREACH_CALLBACK_INVOKE_ID(&data, check_id, cb_flag)
  
  #define CALLBACK_INVOKE(check_id_super, cb_flag) \
- 	FOREACH_CALLBACK_INVOKE(id, check_id_super, flag, callback, user_data, cb_flag)
- 
- 	switch (GS(id->name)) {
- 		case ID_SCE:
- 		{
- 			Scene *scene = (Scene *) id;
- 			ToolSettings *toolsett = scene->toolsettings;
- 			SceneRenderLayer *srl;
- 			Base *base;
- 
- 			CALLBACK_INVOKE(scene->camera, IDWALK_NOP);
- 			CALLBACK_INVOKE(scene->world, IDWALK_USER);
- 			CALLBACK_INVOKE(scene->set, IDWALK_NOP);
- 			CALLBACK_INVOKE(scene->clip, IDWALK_NOP);
- 			CALLBACK_INVOKE(scene->nodetree, IDWALK_NOP);
- 			/* DO NOT handle scene->basact here, it's doubling with the loop over whole scene->base later,
- 			 * since basact is just a pointer to one of those items. */
- 			CALLBACK_INVOKE(scene->obedit, IDWALK_NOP);
- 
- 			for (srl = scene->r.layers.first; srl; srl = srl->next) {
- 				FreestyleModuleConfig *fmc;
- 				FreestyleLineSet *fls;
- 
- 				if (srl->mat_override) {
- 					CALLBACK_INVOKE(srl->mat_override, IDWALK_USER);
- 				}
- 				if (srl->light_override) {
- 					CALLBACK_INVOKE(srl->light_override, IDWALK_USER);
+ 	FOREACH_CALLBACK_INVOKE(&data, check_id_super, cb_flag)
+ 
+ 	do {
+ 		data.self_id = id;
+ 
+ 		AnimData *adt = BKE_animdata_from_id(id);
+ 		if (adt) {
+ 			library_foreach_animationData(&data, adt);
+ 		}
+ 
+ 		switch (GS(id->name)) {
+ 			case ID_SCE:
+ 			{
+ 				Scene *scene = (Scene *) id;
+ 				ToolSettings *toolsett = scene->toolsettings;
+ 				SceneRenderLayer *srl;
+ 				Base *base;
+ 
+ 				CALLBACK_INVOKE(scene->camera, IDWALK_NOP);
+ 				CALLBACK_INVOKE(scene->world, IDWALK_USER);
+ 				CALLBACK_INVOKE(scene->set, IDWALK_NOP);
+ 				CALLBACK_INVOKE(scene->clip, IDWALK_NOP);
+ 				CALLBACK_INVOKE(scene->nodetree, IDWALK_NOP);
+ 				/* DO NOT handle scene->basact here, it's doubling with the loop over whole scene->base later,
+ 				 * since basact is just a pointer to one of those items. */
+ 				CALLBACK_INVOKE(scene->obedit, IDWALK_NOP);
+ 
+ 				for (srl = scene->r.layers.first; srl; srl = srl->next) {
+ 					FreestyleModuleConfig *fmc;
+ 					FreestyleLineSet *fls;
+ 
+ 					if (srl->mat_override) {
+ 						CALLBACK_INVOKE(srl->mat_override, IDWALK_USER);
+ 					}
+ 					if (srl->light_override) {
+ 						CALLBACK_INVOKE(srl->light_override, IDWALK_USER);
+ 					}
+ 					for (fmc = srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) {
+ 						if (fmc->script) {
+ 							CALLBACK_INVOKE(fmc->script, IDWALK_NOP);
+ 						}
+ 					}
+ 					for (fls = srl->freestyleConfig.linesets.first; fls; fls = fls->next) {
+ 						if (fls->group) {
+ 							CALLBACK_INVOKE(fls->group, IDWALK_USER);
+ 						}
+ 						if (fls->linestyle) {
+ 							CALLBACK_INVOKE(fls->linestyle, IDWALK_USER);
+ 						}
+ 					}
  				}
- 				for (fmc = srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) {
- 					if (fmc->script) {
- 						CALLBACK_INVOKE(fmc->script, IDWALK_NOP);
+ 
+ 				if (scene->ed) {
+ 					Sequence *seq;
+ 					SEQP_BEGIN(scene->ed, seq)
+ 					{
+ 						CALLBACK_INVOKE(seq->scene, IDWALK_NOP);
+ 						CALLBACK_INVOKE(seq->scene_camera, IDWALK_NOP);
+ 						CALLBACK_INVOKE(seq->clip, IDWALK_USER);
+ 						CALLBACK_INVOKE(seq->mask, IDWALK_USER);
+ 						CALLBACK_INVOKE(seq->sound, IDWALK_USER);
  					}
+ 					SEQ_END
+ 				}
+ 
+ 				CALLBACK_INVOKE(scene->gpd, IDWALK_USER);
+ 
+ 				for (base = scene->base.first; base; base = base->next) {
+ 					CALLBACK_INVOKE(base->object, IDWALK_USER);
  				}
- 				for (fls = srl->freestyleConfig.linesets.first; fls; fls = fls->next) {
- 					if (fls->group) {
- 						CALLBACK_INVOKE(fls->group, IDWALK_USER);
+ 
+ 				if (toolsett) {
+ 					CALLBACK_INVOKE(toolsett->skgen_template, IDWALK_NOP);
+ 					CALLBACK_INVOKE(toolsett->particle.scene, IDWALK_NOP);
+ 					CALLBACK_INVOKE(toolsett->particle.object, IDWALK_NOP);
+ 					CALLBACK_INVOKE(toolsett->particle.shape_object, IDWALK_NOP);
+ 					CALLBACK_INVOKE(toolsett->imapaint.stencil, IDWALK_NOP);
+ 					CALLBACK_INVOKE(toolsett->imapaint.clone, IDWALK_NOP);
+ 					CALLBACK_INVOKE(toolsett->imapaint.canvas, IDWALK_NOP);
+ 					if (toolsett->vpaint) {
+ 						CALLBACK_INVOKE(toolsett->vpaint->paint.brush, IDWALK_NOP);
+ 						CALLBACK_INVOKE(toolsett->vpaint->paint.palette, IDWALK_NOP);
+ 					}
+ 					if (toolsett->wpaint) {
+ 						CALLBACK_INVOKE(toolsett->wpaint->paint.brush, IDWALK_NOP);
+ 						CALLBACK_INVOKE(toolsett->wpaint->paint.palette, IDWALK_NOP);
  					}
- 					if (fls->linestyle) {
- 						CALLBACK_INVOKE(fls->linestyle, IDWALK_USER);
+ 					if (toolsett->sculpt) {
+ 						CALLBACK_INVOKE(toolsett->sculpt->paint.brush, IDWALK_NOP);
+ 						CALLBACK_INVOKE(toolsett->sculpt->paint.palette, IDWALK_NOP);
+ 						CALLBACK_INVOKE(toolsett->sculpt->gravity_object, IDWALK_NOP);
+ 					}
+ 					if (toolsett->uvsculpt) {
+ 						CALLBACK_INVOKE(toolsett->uvsculpt->paint.brush, IDWALK_NOP);
+ 						CALLBACK_INVOKE(toolsett->uvsculpt->paint.palette, IDWALK_NOP);
  					}
  				}
- 			}
  
- 			if (scene->ed) {
- 				Sequence *seq;
- 				SEQP_BEGIN(scene->ed, seq)
- 				{
- 					CALLBACK_INVOKE(seq->scene, IDWALK_NOP);
- 					CALLBACK_INVOKE(seq->scene_camera, IDWALK_NOP);
- 					CALLBACK_INVOKE(seq->clip, IDWALK_USER);
- 					CALLBACK_INVOKE(seq->mask, IDWALK_USER);
- 					CALLBACK_INVOKE(seq->sound, IDWALK_USER);
+ 				if (scene->rigidbody_world) {
+ 					BKE_rigidbody_world_id_loop(scene->rigidbody_world, library_foreach_rigidbodyworldSceneLooper, &data);
  				}
- 				SEQ_END
- 			}
  
- 			CALLBACK_INVOKE(scene->gpd, IDWALK_USER);
+ 				CALLBACK_INVOKE(scene->gm.dome.warptext, IDWALK_NOP);
  
- 			for (base = scene->base.first; base; base = base->next) {
- 				CALLBACK_INVOKE(base->object, IDWALK_USER);
+ 				break;
  			}
  
- 			if (toolsett) {
- 				CALLBACK_INVOKE(toolsett->skgen_template, IDWALK_NOP);
- 				CALLBACK_INVOKE(toolsett->particle.scene, IDWALK_NOP);
- 				CALLBACK_INVOKE(toolsett->particle.object, IDWALK_NOP);
- 				CALLBACK_INVOKE(toolsett->particle.shape_object, IDWALK_NOP);
- 				CALLBACK_INVOKE(toolsett->imapaint.stencil, IDWALK_NOP);
- 				CALLBACK_INVOKE(toolsett->imapaint.clone, IDWALK_NOP);
- 				CALLBACK_INVOKE(toolsett->imapaint.canvas, IDWALK_NOP);
- 				if (toolsett->vpaint) {
- 					CALLBACK_INVOKE(toolsett->vpaint->paint.brush, IDWALK_NOP);
- 					CALLBACK_INVOKE(toolsett->vpaint->paint.palette, IDWALK_NOP);
+ 			case ID_OB:
+ 			{
+ 				Object *object = (Object *) id;
+ 				ParticleSystem *psys;
+ 
+ 				/* object data special case */
+ 				if (object->type == OB_EMPTY) {
+ 					/* empty can have NULL or Image */
+ 					CALLBACK_INVOKE_ID(object->data, IDWALK_USER);
  				}
- 				if (toolsett->wpaint) {
- 					CALLBACK_INVOKE(toolsett->wpaint->paint.brush, IDWALK_NOP);
- 					CALLBACK_INVOKE(toolsett->wpaint->paint.palette, IDWALK_NOP);
+ 				else {
+ 					/* when set, this can't be NULL */
+ 					if (object->data) {
+ 						CALLBACK_INVOKE_ID(object->data, IDWALK_USER | IDWALK_NEVER_NULL);
+ 					}
  				}
- 				if (toolsett->sculpt) {
- 					CALLBACK_INVOKE(toolsett->sculpt->paint.brush, IDWALK_NOP);
- 					CALLBACK_INVOKE(toolsett->sculpt->paint.palette, IDWALK_NOP);
- 					CALLBACK_INVOKE(toolsett->sculpt->gravity_object, IDWALK_NOP);
+ 
+ 				CALLBACK_INVOKE(object->parent, IDWALK_NOP);
+ 				CALLBACK_INVOKE(object->track, IDWALK_NOP);
+ 				/* object->proxy is refcounted, but not object->proxy_group... *sigh* */
+ 				CALLBACK_INVOKE(object->proxy, IDWALK_USER);
+ 				CALLBACK_INVOKE(object->proxy_group, IDWALK_NOP);
+ 				CALLBACK_INVOKE(object->proxy_from, IDWALK_NOP);
+ 				CALLBACK_INVOKE(object->poselib, IDWALK_USER);
+ 				for (i = 0; i < object->totcol; i++) {
+ 					CALLBACK_INVOKE(object->mat[i], IDWALK_USER);
  				}
- 				if (toolsett->uvsculpt) {
- 					CALLBACK_INVOKE(toolsett->uvsculpt->paint.brush, IDWALK_NOP);
- 					CALLBACK_INVOKE(toolsett->uvsculpt->paint.palette, IDWALK_NOP);
+ 				CALLBACK_INVOKE(object->gpd, IDWALK_USER);
+ 				CALLBACK_INVOKE(object->dup_group, IDWALK_USER);
+ 
+ 				if (object->pd) {
+ 					CALLBACK_INVOKE(object->pd->tex, IDWALK_USER);
+ 					CALLBACK_INVOKE(object->pd->f_source, IDWALK_NOP);
  				}
- 			}
  
- 			if (scene->rigidbody_world) {
- 				BKE_rigidbody_world_id_loop(scene->rigidbody_world, library_foreach_rigidbodyworldSceneLooper, &data);
- 			}
+ 				if (object->pose) {
+ 					bPoseChannel *pchan;
+ 					for (pchan = object->pose->chanbase.first; pchan; pchan = pchan->next) {
++						CALLBACK_INVOKE(pchan->fmap_object, IDWALK_USER);
+ 						CALLBACK_INVOKE(pchan->custom, IDWALK_USER);
+ 						BKE_constraints_id_loop(&pchan->constraints, library_foreach_constraintObjectLooper, &data);
+ 					}
+ 				}
  
- 			CALLBACK_INVOKE(scene->gm.dome.warptext, IDWALK_NOP);
+ 				if (object->rigidbody_constraint) {
+ 					CALLBACK_INVOKE(object->rigidbody_constraint->ob1, IDWALK_NOP);
+ 					CALLBACK_INVOKE(object->rigidbody_constraint->ob2, IDWALK_NOP);
+ 				}
  
- 			break;
- 		}
+ 				if (object->lodlevels.first) {
+ 					LodLevel *level;
+ 					for (level = object->lodlevels.first; level; level = level->next) {
+ 						CALLBACK_INVOKE(level->source, IDWALK_NOP);
+ 					}
+ 				}
  
- 		case ID_OB:
- 		{
- 			Object *object = (Object *) id;
- 			ParticleSystem *psys;
+ 				modifiers_foreachIDLink(object, library_foreach_modifiersForeachIDLink, &data);
+ 				BKE_constraints_id_loop(&object->constraints, library_foreach_constraintObjectLooper, &data);
  
- 			/* object data special case */
- 			if (object->type == OB_EMPTY) {
- 				/* empty can have NULL or Image */
- 				CALLBACK_INVOKE_ID(object->data, IDWALK_USER);
- 			}
- 			else {
- 				/* when 

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list