[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37334] branches/soc-2011-pepper/source/ blender/makesrna/intern/rna_animation.c: Bugfix: Setting action for AnimData via RNA didn't change the
Joshua Leung
aligorith at gmail.com
Thu Jun 9 14:44:38 CEST 2011
Revision: 37334
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37334
Author: aligorith
Date: 2011-06-09 12:44:38 +0000 (Thu, 09 Jun 2011)
Log Message:
-----------
Bugfix: Setting action for AnimData via RNA didn't change the
usercounts.
Cheers to Atom on BA for noticing this.
Modified Paths:
--------------
branches/soc-2011-pepper/source/blender/makesrna/intern/rna_animation.c
Modified: branches/soc-2011-pepper/source/blender/makesrna/intern/rna_animation.c
===================================================================
--- branches/soc-2011-pepper/source/blender/makesrna/intern/rna_animation.c 2011-06-09 12:30:24 UTC (rev 37333)
+++ branches/soc-2011-pepper/source/blender/makesrna/intern/rna_animation.c 2011-06-09 12:44:38 UTC (rev 37334)
@@ -76,6 +76,10 @@
ID *ownerId = (ID *)ptr->id.data;
AnimData *adt = (AnimData *)ptr->data;
+ /* manage usercount for current action */
+ if (adt->action)
+ id_us_min((ID*)adt->action);
+
/* assume that AnimData's action can in fact be edited... */
if ((value.data) && (ownerId)) {
bAction *act = (bAction *)value.data;
@@ -85,6 +89,7 @@
if (ELEM(act->idroot, 0, GS(ownerId->name))) {
/* can set */
adt->action = act;
+ id_us_plus((ID*)adt->action);
}
else {
/* cannot set */
@@ -98,6 +103,7 @@
act->id.name+2);
adt->action = act;
+ id_us_plus((ID*)adt->action);
}
}
else {
More information about the Bf-blender-cvs
mailing list