From 53b83262c5ee5a2e71c23a3702cef8eef604f94b Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Fri, 28 Jan 2011 00:59:42 +0000 Subject: Fix for [#25713] VSE shows and renders wrong straight alpha gradient even after convert to premul is checked * Caching of the start and end stills were just referencing the original imbuf (which got premultiplied after the caching), so as a result most of the time the premul was applied twice. * Now the start and end stills are stored in the cache as duplicates of the original (non modified) imbuf. --- source/blender/blenkernel/intern/seqcache.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender/blenkernel/intern/seqcache.c') diff --git a/source/blender/blenkernel/intern/seqcache.c b/source/blender/blenkernel/intern/seqcache.c index 122e186bcd7..78cd4bb51fe 100644 --- a/source/blender/blenkernel/intern/seqcache.c +++ b/source/blender/blenkernel/intern/seqcache.c @@ -232,8 +232,9 @@ void seq_stripelem_cache_put( key->cfra = cfra - seq->start; key->type = type; - /* we want our own version */ - IMB_refImBuf(i); + /* Normally we want our own version, but start and end stills are duplicates of the original. */ + if(ELEM(type, SEQ_STRIPELEM_IBUF_STARTSTILL, SEQ_STRIPELEM_IBUF_ENDSTILL)==0) + IMB_refImBuf(i); e = (seqCacheEntry*) BLI_mempool_alloc(entrypool); -- cgit v1.2.3