From 903569cab8ae8bc850a989fb57c69e6fd873dd08 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 26 Apr 2019 05:23:19 +0100 Subject: GRAPHICS: Fix ManagedSurface dirty rects when drawing lines Fixes an invalidRect assert when drawing lines which don't go from top-left to bottom-right. --- graphics/managed_surface.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'graphics/managed_surface.h') diff --git a/graphics/managed_surface.h b/graphics/managed_surface.h index a7cf70f857..a11d05c557 100644 --- a/graphics/managed_surface.h +++ b/graphics/managed_surface.h @@ -317,7 +317,7 @@ public: */ void drawLine(int x0, int y0, int x1, int y1, uint32 color) { _innerSurface.drawLine(x0, y0, x1, y1, color); - addDirtyRect(Common::Rect(x0, y0, x1, y1)); + addDirtyRect(Common::Rect(MIN(x0, x1), MIN(y0, y1), MAX(x0, x1), MAX(y0, y1))); } /** @@ -325,7 +325,7 @@ public: */ void drawThickLine(int x0, int y0, int x1, int y1, int penX, int penY, uint32 color) { _innerSurface.drawThickLine(x0, y0, x1, y1, penX, penY, color); - addDirtyRect(Common::Rect(x0, y0, x1 + penX, y1 + penY)); + addDirtyRect(Common::Rect(MIN(x0, x1 + penX), MIN(y0, y1 + penY), MAX(x0, x1 + penX), MAX(y0, y1 + penY))); } /** -- cgit v1.2.3