diff options
author | Peter Schlaile <peter@schlaile.de> | 2008-05-19 10:14:57 +0400 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2008-05-19 10:14:57 +0400 |
commit | 591a4786702c0c3564fa3a2d80976bace2fd5295 (patch) | |
tree | 6294b4d07b0f9b31c35464e8b4da4c6440cec3c2 /source/blender/src/sequence.c | |
parent | c526b1b2df09211bead73a7297992a002dc787e4 (diff) |
== Sequencer ==
This fixes:
[11750] "Translate" stops working when offset > image size
Diffstat (limited to 'source/blender/src/sequence.c')
-rw-r--r-- | source/blender/src/sequence.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c index 5bcb521988b..6ba53ff9b5e 100644 --- a/source/blender/src/sequence.c +++ b/source/blender/src/sequence.c @@ -1452,6 +1452,7 @@ static void input_preprocess(Sequence * seq, TStripElem* se, int cfra) if(seq->flag & SEQ_USE_CROP || seq->flag & SEQ_USE_TRANSFORM) { StripCrop c; StripTransform t; + int sx,sy,dx,dy; memset(&c, 0, sizeof(StripCrop)); memset(&t, 0, sizeof(StripTransform)); @@ -1463,22 +1464,22 @@ static void input_preprocess(Sequence * seq, TStripElem* se, int cfra) t = *seq->strip->transform; } + sx = se->ibuf->x - c.left - c.right; + sy = se->ibuf->y - c.top - c.bottom; + dx = sx; + dy = sy; + + if (seq->flag & SEQ_USE_TRANSFORM) { + dx = seqrectx; + dy = seqrecty; + } + if (c.top + c.bottom >= se->ibuf->y || c.left + c.right >= se->ibuf->x || - t.xofs >= se->ibuf->x || - t.yofs >= se->ibuf->y) { + t.xofs >= dx || t.yofs >= dy) { make_black_ibuf(se->ibuf); } else { ImBuf * i; - int sx = se->ibuf->x - c.left - c.right; - int sy = se->ibuf->y - c.top - c.bottom; - int dx = sx; - int dy = sy; - - if (seq->flag & SEQ_USE_TRANSFORM) { - dx = seqrectx; - dy = seqrecty; - } if (se->ibuf->rect_float) { i = IMB_allocImBuf(dx, dy,32, IB_rectfloat, 0); |