This looks like a typo: if (animated > 1) when animated is a... Bool!
So, I am not entirely sure why this bug is visible in case of gif
proxies, all it seems that the load_data function may be called
multiple times when the object is visible. So gif close and reopen
happen properly, and the first frame can be decoded.
// if we want to go backwards, we likely need/want to re-decode from the
// start as we have nothnig to build on
- if ((index > 0) && (index < loader->imgnum) &&
- (animated->animated > 1))
+ if ((index > 0) && (index < loader->imgnum) && (animated->animated))
{
if (loader->gif) DGifCloseFile(loader->gif);
if ((loader->fi.map) && (loader->f))