Calling FastLED.show() from a function

I wrote some code months ago that was destined for an LED strip, which I finally got a couple weeks ago. I added the FastLED2 library and all went reasonably well.

However, I had my code structured in such a way that updating the CRGB objects and callling FastLED.show() happened in one of my functions, however this does nothing. It only works when I do that in loop(). What's the reason for that?

please post your complete code