Revision: 29021
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29021
Author:   dfelinto
Date:     2010-05-27 10:34:32 +0200 (Thu, 27 May 2010)

Log Message:
-----------
Logic Editor: fix for datablock counting when copying/deleting sound actuator
("bug" from 2.49)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/sca.c

Modified: trunk/blender/source/blender/blenkernel/intern/sca.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sca.c        2010-05-27 
08:22:16 UTC (rev 29020)
+++ trunk/blender/source/blender/blenkernel/intern/sca.c        2010-05-27 
08:34:32 UTC (rev 29021)
@@ -44,6 +44,7 @@
 #include "BKE_utildefines.h"
 #include "BKE_global.h"
 #include "BKE_main.h"
+#include "BKE_library.h"
 
 /* ******************* SENSORS ************************ */
 
@@ -348,7 +349,19 @@
 
 void free_actuator(bActuator *act)
 {
-       if(act->data) MEM_freeN(act->data);
+       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;
+               }
+
+               MEM_freeN(act->data);
+       }
        MEM_freeN(act);
 }
 
@@ -365,6 +378,7 @@
 bActuator *copy_actuator(bActuator *act)
 {
        bActuator *actn;
+       bSoundActuator *sa;
        
        act->mynew=actn= MEM_dupallocN(act);
        actn->flag |= ACT_NEW;
@@ -372,6 +386,13 @@
                actn->data= MEM_dupallocN(act->data);
        }
        
+       switch (act->type) {
+               case ACT_SOUND:
+                       sa= (bSoundActuator *)act->data;
+                       if(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