[Bf-blender-cvs] [6ed0fcc] id-remap: Merge branch 'master' into id-remap
Bastien Montagne
noreply at git.blender.org
Wed Oct 7 20:58:49 CEST 2015
Commit: 6ed0fcc1875b3001116f94e93521d285ddb570b0
Author: Bastien Montagne
Date: Wed Oct 7 20:56:54 2015 +0200
Branches: id-remap
https://developer.blender.org/rB6ed0fcc1875b3001116f94e93521d285ddb570b0
Merge branch 'master' into id-remap
===================================================================
===================================================================
diff --cc source/blender/blenkernel/intern/library_query.c
index e437546,ada7673..0dc770e
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@@ -304,24 -229,18 +304,25 @@@ void BKE_library_foreach_ID_link(ID *id
case ID_OB:
{
Object *object = (Object *) id;
+ ID *obdata = object->data;
+ ParticleSystem *psys;
+ LodLevel *lod;
+
+ CALLBACK_INVOKE_ID(obdata, IDWALK_REFCOUNTED);
+ object->data = obdata;
CALLBACK_INVOKE(object->parent, IDWALK_NOP);
CALLBACK_INVOKE(object->track, IDWALK_NOP);
- CALLBACK_INVOKE(object->proxy, IDWALK_NOP);
+ /* object->proxy is refcounted, but not object->proxy_group... *sigh* */
+ CALLBACK_INVOKE(object->proxy, IDWALK_REFCOUNTED);
CALLBACK_INVOKE(object->proxy_group, IDWALK_NOP);
CALLBACK_INVOKE(object->proxy_from, IDWALK_NOP);
- CALLBACK_INVOKE(object->poselib, IDWALK_NOP);
+ CALLBACK_INVOKE(object->poselib, IDWALK_REFCOUNTED);
for (i = 0; i < object->totcol; i++) {
- CALLBACK_INVOKE(object->mat[i], IDWALK_NOP);
+ CALLBACK_INVOKE(object->mat[i], IDWALK_REFCOUNTED);
}
- CALLBACK_INVOKE(object->gpd, IDWALK_NOP);
+ CALLBACK_INVOKE(object->gpd, IDWALK_REFCOUNTED);
CALLBACK_INVOKE(object->dup_group, IDWALK_NOP);
+
if (object->particlesystem.first) {
ParticleSystem *psys;
for (psys = object->particlesystem.first; psys; psys = psys->next) {
@@@ -415,20 -314,9 +414,20 @@@
case ID_TE:
{
- Tex *tex = (Tex *) id;
- CALLBACK_INVOKE(tex->nodetree, IDWALK_NOP);
- CALLBACK_INVOKE(tex->ima, IDWALK_REFCOUNTED);
- if (tex->env) {
- CALLBACK_INVOKE(tex->env->object, IDWALK_NOP);
- CALLBACK_INVOKE(tex->env->ima, IDWALK_NOP);
+ Tex *texture = (Tex *) id;
+ CALLBACK_INVOKE(texture->nodetree, IDWALK_NOP);
- CALLBACK_INVOKE(texture->ima, IDWALK_NOP);
++ CALLBACK_INVOKE(texture->ima, IDWALK_REFCOUNTED);
++ if (texture->env) {
++ CALLBACK_INVOKE(texture->env->object, IDWALK_NOP);
++ CALLBACK_INVOKE(texture->env->ima, IDWALK_NOP);
+ }
- if (tex->pd)
- CALLBACK_INVOKE(tex->pd->object, IDWALK_NOP);
- if (tex->vd)
- CALLBACK_INVOKE(tex->vd->object, IDWALK_NOP);
- if (tex->ot)
- CALLBACK_INVOKE(tex->ot->object, IDWALK_NOP);
++ if (texture->pd)
++ CALLBACK_INVOKE(texture->pd->object, IDWALK_NOP);
++ if (texture->vd)
++ CALLBACK_INVOKE(texture->vd->object, IDWALK_NOP);
++ if (texture->ot)
++ CALLBACK_INVOKE(texture->ot->object, IDWALK_NOP);
+
break;
}
@@@ -529,11 -414,6 +528,13 @@@
CALLBACK_INVOKE(psett->dup_group, IDWALK_NOP);
CALLBACK_INVOKE(psett->dup_ob, IDWALK_NOP);
CALLBACK_INVOKE(psett->bb_ob, IDWALK_NOP);
++
+ for (i = 0; i < MAX_MTEX; i++) {
+ if (psett->mtex[i]) {
+ library_foreach_mtex(&data, psett->mtex[i]);
+ }
+ }
++
if (psett->effector_weights) {
CALLBACK_INVOKE(psett->effector_weights->group, IDWALK_NOP);
}
@@@ -564,7 -425,8 +565,8 @@@
MovieClip *clip = (MovieClip *) id;
MovieTracking *tracking = &clip->tracking;
MovieTrackingObject *object;
+
- CALLBACK_INVOKE(clip->gpd, IDWALK_NOP);
+ CALLBACK_INVOKE(clip->gpd, IDWALK_REFCOUNTED);
for (object = tracking->objects.first; object; object = object->next) {
ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
MovieTrackingTrack *track;
More information about the Bf-blender-cvs
mailing list