You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-13 13:31:48 +00:00
Merge pull request #17637 from robfram/fix-draw_polyline_colors-crash
Fix crash in `canvas_item_add_polyline` when passing more points than colors
This commit is contained in:
@@ -440,13 +440,17 @@ void VisualServerCanvas::canvas_item_add_polyline(RID p_item, const Vector<Point
|
|||||||
if (p_antialiased) {
|
if (p_antialiased) {
|
||||||
pline->line_colors.push_back(Color(1, 1, 1, 1));
|
pline->line_colors.push_back(Color(1, 1, 1, 1));
|
||||||
}
|
}
|
||||||
}
|
} else if (p_colors.size() == 1) {
|
||||||
if (p_colors.size() == 1) {
|
|
||||||
pline->triangle_colors = p_colors;
|
pline->triangle_colors = p_colors;
|
||||||
pline->line_colors = p_colors;
|
pline->line_colors = p_colors;
|
||||||
} else {
|
} else {
|
||||||
pline->triangle_colors.resize(pline->triangles.size());
|
if (p_colors.size() != p_points.size()) {
|
||||||
pline->line_colors.resize(pline->lines.size());
|
pline->triangle_colors.push_back(p_colors[0]);
|
||||||
|
pline->line_colors.push_back(p_colors[0]);
|
||||||
|
} else {
|
||||||
|
pline->triangle_colors.resize(pline->triangles.size());
|
||||||
|
pline->line_colors.resize(pline->lines.size());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < p_points.size(); i++) {
|
for (int i = 0; i < p_points.size(); i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user