Fix crash with clips entirely outside glyph map
When the range to work on is empty just continue to next span. Task-number: QTBUG-63412 Change-Id: Ic5cb77ed438eb9c218f482095aa0cd4e3c2fc6e6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
This commit is contained in:
parent
2b51ad4712
commit
807fa90b32
@ -5627,6 +5627,8 @@ static void qt_alphamapblit_generic(QRasterBuffer *rasterBuffer,
|
|||||||
|
|
||||||
int start = qMax<int>(x, clip.x);
|
int start = qMax<int>(x, clip.x);
|
||||||
int end = qMin<int>(x + mapWidth, clip.x + clip.len);
|
int end = qMin<int>(x + mapWidth, clip.x + clip.len);
|
||||||
|
if (end <= start)
|
||||||
|
continue;
|
||||||
Q_ASSERT(end - start <= buffer_size);
|
Q_ASSERT(end - start <= buffer_size);
|
||||||
QRgba64 *dest = destFetch64((QRgba64*)buffer, rasterBuffer, start, clip.y, end - start);
|
QRgba64 *dest = destFetch64((QRgba64*)buffer, rasterBuffer, start, clip.y, end - start);
|
||||||
|
|
||||||
@ -5900,6 +5902,8 @@ static void qt_alphargbblit_generic(QRasterBuffer *rasterBuffer,
|
|||||||
|
|
||||||
int start = qMax<int>(x, clip.x);
|
int start = qMax<int>(x, clip.x);
|
||||||
int end = qMin<int>(x + mapWidth, clip.x + clip.len);
|
int end = qMin<int>(x + mapWidth, clip.x + clip.len);
|
||||||
|
if (end <= start)
|
||||||
|
continue;
|
||||||
Q_ASSERT(end - start <= buffer_size);
|
Q_ASSERT(end - start <= buffer_size);
|
||||||
QRgba64 *dest = destFetch64((QRgba64*)buffer, rasterBuffer, start, clip.y, end - start);
|
QRgba64 *dest = destFetch64((QRgba64*)buffer, rasterBuffer, start, clip.y, end - start);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user