OPENGL: Fix crash when scaling small areas
This commit is contained in:
parent
00203d7ef9
commit
95bc1c46ed
1 changed files with 7 additions and 2 deletions
|
@ -544,8 +544,13 @@ void ScaledTexture::updateGLTexture() {
|
|||
dst = (byte *)outSurf->getBasePtr(dirtyArea.left * _scaleFactor, dirtyArea.top * _scaleFactor);
|
||||
dstPitch = outSurf->pitch;
|
||||
|
||||
assert(_scaler);
|
||||
_scaler->scale(src, srcPitch, dst, dstPitch, dirtyArea.width(), dirtyArea.height(), dirtyArea.left, dirtyArea.top);
|
||||
if (_scaler && (uint)dirtyArea.height() >= _extraPixels) {
|
||||
_scaler->scale(src, srcPitch, dst, dstPitch, dirtyArea.width(), dirtyArea.height(), dirtyArea.left, dirtyArea.top);
|
||||
} else {
|
||||
Graphics::scaleBlit(dst, src, dstPitch, srcPitch,
|
||||
dirtyArea.width() * _scaleFactor, dirtyArea.height() * _scaleFactor,
|
||||
dirtyArea.width(), dirtyArea.height(), outSurf->format);
|
||||
}
|
||||
|
||||
dirtyArea.left *= _scaleFactor;
|
||||
dirtyArea.right *= _scaleFactor;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue