[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32853] branches/particles-2010/source/ blender/nodes/intern/simulation/SIM_intern.c: Fixed memory bug that was killing performance, events were not freed correctly.

Lukas Toenne lukas.toenne at googlemail.com
Wed Nov 3 09:55:14 CET 2010


Revision: 32853
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32853
Author:   lukastoenne
Date:     2010-11-03 09:55:14 +0100 (Wed, 03 Nov 2010)

Log Message:
-----------
Fixed memory bug that was killing performance, events were not freed correctly.

Modified Paths:
--------------
    branches/particles-2010/source/blender/nodes/intern/simulation/SIM_intern.c

Modified: branches/particles-2010/source/blender/nodes/intern/simulation/SIM_intern.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/simulation/SIM_intern.c	2010-11-03 08:46:14 UTC (rev 32852)
+++ branches/particles-2010/source/blender/nodes/intern/simulation/SIM_intern.c	2010-11-03 08:55:14 UTC (rev 32853)
@@ -103,7 +103,7 @@
 void sim_event_init(SimEvent *event)
 {
 	event->status = SIM_QUEUED;
-	event->refcount = 0;
+	event->refcount = 1;
 }
 
 void sim_event_retain(SimEvent *event)
@@ -114,7 +114,7 @@
 void sim_event_release(SimEvent *event)
 {
 	--event->refcount;
-	if (event->refcount <= 0) {
+	if (event->refcount == 0) {
 		MEM_freeN(event);
 	}
 }
@@ -166,7 +166,6 @@
 	
 	job->event = MEM_callocN(sizeof(SimEvent), "SimEvent");
 	sim_event_init(job->event);
-	sim_event_retain(job->event);
 	if (sim_eventlist_status(&job->wait_events)==SIM_COMPLETE)
 		job->event->status = SIM_SUBMITTED;
 	else





More information about the Bf-blender-cvs mailing list