Fix for bug #929724 (MI2: Intro regression) -> since _outheight can be negative, negative y values aren't filtered out automatically anymore, so we have to explicitly check for them
svn-id: r13478
This commit is contained in:
parent
92301bff74
commit
cc954a70ae
2 changed files with 18 additions and 9 deletions
|
@ -382,9 +382,9 @@ void AkosRenderer::codec1_genericDecode() {
|
|||
return;
|
||||
}
|
||||
} else {
|
||||
masked = (y < _outheight) && v1.mask_ptr && ((mask[0] | mask[v1.imgbufoffs]) & maskbit);
|
||||
masked = (y < 0 || y >= _outheight) || (v1.mask_ptr && ((mask[0] | mask[v1.imgbufoffs]) & maskbit));
|
||||
|
||||
if (color && y < _outheight && !masked && !skip_column) {
|
||||
if (color && !masked && !skip_column) {
|
||||
pcolor = palette[color];
|
||||
if (_shadow_mode == 1) {
|
||||
if (pcolor == 13)
|
||||
|
@ -725,9 +725,15 @@ byte AkosRenderer::codec1(int xmoveCur, int ymoveCur) {
|
|||
if (v1.skip_width <= 0 || _height <= 0)
|
||||
return 0;
|
||||
|
||||
if (rect.top > _outheight)
|
||||
if (rect.left < 0)
|
||||
rect.left = 0;
|
||||
|
||||
if (rect.top < 0)
|
||||
rect.top = 0;
|
||||
|
||||
if (rect.top > _outheight)
|
||||
rect.top = _outheight;
|
||||
|
||||
if (rect.bottom > _outheight)
|
||||
rect.bottom = _outheight;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue