summaryrefslogtreecommitdiff
path: root/src/modules/sparkler/particles.c
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2017-04-27 09:48:15 -0700
committerVito Caputo <vcaputo@pengaru.com>2017-04-27 09:48:15 -0700
commitfc4e5f9d1e734affab9917558f19102a1331942f (patch)
tree13db7411dafa195d880e53a7551fd2b648e7fd23 /src/modules/sparkler/particles.c
parent3d4ab5e29e6187d5e97892a7f8a1ce73e809e0cd (diff)
sparkler: respect fragment->frame_{width,height}
should_draw_expire_if_oob() assumed the fragment represented the entire frame. Instead, return 0 if the coordinates are outside the fragment, but only reset longevity if outside of the frame. If sparkler goes threaded in the drawing, this would result in threads simply skipping particles outside the fragment. The longevity reset occurring in all threads appears suspicious but should be benign since they all write the same thing - 0.
Diffstat (limited to 'src/modules/sparkler/particles.c')
-rw-r--r--src/modules/sparkler/particles.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/modules/sparkler/particles.c b/src/modules/sparkler/particles.c
index e504adb..5116e3a 100644
--- a/src/modules/sparkler/particles.c
+++ b/src/modules/sparkler/particles.c
@@ -216,7 +216,7 @@ bsp_t * particles_bsp(particles_t *particles)
static inline void _particles_draw(particles_t *particles, list_head_t *list, fb_fragment_t *fragment)
{
- float w2 = fragment->width * .5f, h2 = fragment->height * .5f;
+ float w2 = fragment->frame_width * .5f, h2 = fragment->frame_height * .5f;
_particle_t *p;
assert(particles);
© All Rights Reserved