Round coordinates so very small floating point values don't turn into 0x80000000 e.g. SDL_RenderDrawLineF(renderer, -1e20, -1e20, 10, 10); Fixes https://github.com/libsdl-org/SDL/issues/6116
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 5893101..42cafee 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -2981,8 +2981,8 @@ RenderDrawLinesWithRectsF(SDL_Renderer * renderer,
frect->x += scale_x;
}
} else {
- retval += RenderDrawLineBresenham(renderer, (int)points[i].x, (int)points[i].y,
- (int)points[i+1].x, (int)points[i+1].y, draw_last);
+ retval += RenderDrawLineBresenham(renderer, (int)SDL_roundf(points[i].x), (int)SDL_roundf(points[i].y),
+ (int)SDL_roundf(points[i+1].x), (int)SDL_roundf(points[i+1].y), draw_last);
}
drew_line = SDL_TRUE;
}