diff options
author | Kent Mein <mein@cs.umn.edu> | 2008-10-09 08:11:33 +0400 |
---|---|---|
committer | Kent Mein <mein@cs.umn.edu> | 2008-10-09 08:11:33 +0400 |
commit | 4bd7fa9e2e213c92793a9febb6a3f5ca35704a0f (patch) | |
tree | e4e338ad58b1eb1205ba09ffd6edb52f77d752a6 /source/blender/src/sequence.c | |
parent | 2e9d07b33b7189d4716cbc8504e029483d6bac5b (diff) |
This is patch [#17773] seq plugin crash -> use not converted to float with ibuf1 & ibuf2
Submitted by Rob Hausauer (paprmh)
See the link for details:
https://projects.blender.org/tracker/index.php?func=detail&aid=17773&group_id=9&atid=127
Kent
Diffstat (limited to 'source/blender/src/sequence.c')
-rw-r--r-- | source/blender/src/sequence.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c index 5be11a724f1..219768b2776 100644 --- a/source/blender/src/sequence.c +++ b/source/blender/src/sequence.c @@ -803,13 +803,19 @@ static void do_effect(int cfra, Sequence *seq, TStripElem * se) if (!se2->ibuf->rect_float && se->ibuf->rect_float) { IMB_float_from_rect(se2->ibuf); } - + if (!se3->ibuf->rect_float && se->ibuf->rect_float) { + IMB_float_from_rect(se3->ibuf); + } + if (!se1->ibuf->rect && !se->ibuf->rect_float) { IMB_rect_from_float(se1->ibuf); } if (!se2->ibuf->rect && !se->ibuf->rect_float) { IMB_rect_from_float(se2->ibuf); } + if (!se3->ibuf->rect && !se->ibuf->rect_float) { + IMB_rect_from_float(se3->ibuf); + } sh.execute(seq, cfra, fac, facf, x, y, se1->ibuf, se2->ibuf, se3->ibuf, se->ibuf); @@ -1731,9 +1737,10 @@ static void do_build_seq_ibuf(Sequence * seq, TStripElem *se, int cfra, } if(se->ibuf == 0) { - /* if one of two first inputs are rectfloat, output is float too */ + /* if any inputs are rectfloat, output is float too */ if((se->se1 && se->se1->ibuf && se->se1->ibuf->rect_float) || - (se->se2 && se->se2->ibuf && se->se2->ibuf->rect_float)) + (se->se2 && se->se2->ibuf && se->se2->ibuf->rect_float) || + (se->se3 && se->se3->ibuf && se->se3->ibuf->rect_float)) se->ibuf= IMB_allocImBuf((short)seqrectx, (short)seqrecty, 32, IB_rectfloat, 0); else se->ibuf= IMB_allocImBuf((short)seqrectx, (short)seqrecty, 32, IB_rect, 0); |