SCI: fix for heap corruption during lsl3 ending
This commit is contained in:
parent
c55411a032
commit
fa41ee132b
1 changed files with 9 additions and 5 deletions
|
@ -286,10 +286,14 @@ void GfxScreen::putPixelOnDisplay(int x, int y, byte color) {
|
|||
* with flood fill, due to small difference in the Bresenham logic.
|
||||
*/
|
||||
void GfxScreen::drawLine(Common::Point startPoint, Common::Point endPoint, byte color, byte priority, byte control) {
|
||||
int16 left = startPoint.x;
|
||||
int16 top = startPoint.y;
|
||||
int16 right = endPoint.x;
|
||||
int16 bottom = endPoint.y;
|
||||
int16 maxWidth = _width - 1;
|
||||
int16 maxHeight = _height - 1;
|
||||
// we need to clip values here, lsl3 room 620 background picture draws a line from 0, 199 t 320, 199
|
||||
// otherwise we would get heap corruption.
|
||||
int16 left = CLIP<int16>(startPoint.x, 0, maxWidth);
|
||||
int16 top = CLIP<int16>(startPoint.y, 0, maxHeight);
|
||||
int16 right = CLIP<int16>(endPoint.x, 0, maxWidth);
|
||||
int16 bottom = CLIP<int16>(endPoint.y, 0, maxHeight);
|
||||
|
||||
//set_drawing_flag
|
||||
byte drawMask = getDrawingMask(color, priority, control);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue