Commit: dd6edac8037a6b999cf1f41fdcdc93f2531a7155
Author: Joshua Leung
Date:   Sat Feb 14 17:42:57 2015 +1300
Branches: master
https://developer.blender.org/rBdd6edac8037a6b999cf1f41fdcdc93f2531a7155

Bring copy/free operations into line with changes in previous commit

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

M       source/blender/blenkernel/intern/sca.c

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

diff --git a/source/blender/blenkernel/intern/sca.c 
b/source/blender/blenkernel/intern/sca.c
index 4be7534..9159c9e 100644
--- a/source/blender/blenkernel/intern/sca.c
+++ b/source/blender/blenkernel/intern/sca.c
@@ -323,15 +323,23 @@ void unlink_actuators(ListBase *lb)
 
 void free_actuator(bActuator *act)
 {
-       bSoundActuator *sa;
-
        if (act->data) {
                switch (act->type) {
-               case ACT_SOUND:
-                       sa = (bSoundActuator *) act->data;
-                       if (sa->sound)
-                               id_us_min((ID *) sa->sound);
-                       break;
+                       case ACT_ACTION:
+                       case ACT_SHAPEACTION:
+                       {
+                               bActionActuator *aa = (bActionActuator 
*)act->data;
+                               if (aa->act)
+                                       id_us_min((ID *)aa->act);
+                               break;
+                       }
+                       case ACT_SOUND:
+                       {
+                               bSoundActuator *sa = (bSoundActuator *) 
act->data;
+                               if (sa->sound)
+                                       id_us_min((ID *)sa->sound);
+                               break;
+                       }
                }
 
                MEM_freeN(act->data);
@@ -351,7 +359,6 @@ void free_actuators(ListBase *lb)
 bActuator *copy_actuator(bActuator *act)
 {
        bActuator *actn;
-       bSoundActuator *sa;
        
        act->mynew=actn= MEM_dupallocN(act);
        actn->flag |= ACT_NEW;
@@ -360,11 +367,21 @@ bActuator *copy_actuator(bActuator *act)
        }
        
        switch (act->type) {
+               case ACT_ACTION:
+               case ACT_SHAPEACTION:
+               {
+                       bActionActuator *aa = (bActionActuator *)act->data;
+                       if (aa->act)
+                               id_us_plus((ID *)aa->act);
+                       break;
+               }
                case ACT_SOUND:
-                       sa= (bSoundActuator *)act->data;
+               {
+                       bSoundActuator *sa = (bSoundActuator *)act->data;
                        if (sa->sound)
-                               id_us_plus((ID *) sa->sound);
+                               id_us_plus((ID *)sa->sound);
                        break;
+               }
        }
        return actn;
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to