From 806e1933a2f1a80feeeb10e7923ae58461640225 Mon Sep 17 00:00:00 2001 From: jacksonmj Date: Thu, 11 Aug 2011 16:41:10 +0800 Subject: [PATCH] Fix segfault when there are no unused particles before parts_lastActiveIndex --- src/powder.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/powder.c b/src/powder.c index 88cb71351..095a6edf4 100644 --- a/src/powder.c +++ b/src/powder.c @@ -2447,8 +2447,16 @@ void update_particles(pixel *vid)//doesn't update the particles themselves, but lastPartUnused = i; } } - if (parts_lastActiveIndex>=NPART-1) parts[lastPartUnused].life = -1; - else parts[lastPartUnused].life = parts_lastActiveIndex+1; + if (lastPartUnused==-1) + { + if (parts_lastActiveIndex>=NPART-1) pfree = -1; + else pfree = parts_lastActiveIndex+1; + } + else + { + if (parts_lastActiveIndex>=NPART-1) parts[lastPartUnused].life = -1; + else parts[lastPartUnused].life = parts_lastActiveIndex+1; + } parts_lastActiveIndex = lastPartUsed; for (y=0; y