From 0e049e88e2169b831bb829bbff358b593ed228b8 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Fri, 6 Feb 2015 17:39:26 +0100 Subject: One more crashing instance for hashes --- source/blender/imbuf/intern/moviecache.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/blender/imbuf/intern/moviecache.c') diff --git a/source/blender/imbuf/intern/moviecache.c b/source/blender/imbuf/intern/moviecache.c index a068304e1ce..29bb35986e8 100644 --- a/source/blender/imbuf/intern/moviecache.c +++ b/source/blender/imbuf/intern/moviecache.c @@ -476,10 +476,14 @@ void IMB_moviecache_cleanup(MovieCache *cache, bool (cleanup_check_cb) (ImBuf *i check_unused_keys(cache); - GHASH_ITER(gh_iter, cache->hash) { + BLI_ghashIterator_init(&gh_iter, cache->hash); + + while (!BLI_ghashIterator_done(&gh_iter)) { MovieCacheKey *key = BLI_ghashIterator_getKey(&gh_iter); MovieCacheItem *item = BLI_ghashIterator_getValue(&gh_iter); + BLI_ghashIterator_step(&gh_iter); + if (cleanup_check_cb(item->ibuf, key->userkey, userdata)) { PRINT("%s: cache '%s' remove item %p\n", __func__, cache->name, item); -- cgit v1.2.3