diff options
| author | Rémi Verschelde | 2018-03-20 11:23:15 +0100 |
|---|---|---|
| committer | GitHub | 2018-03-20 11:23:15 +0100 |
| commit | a238e53da99c50491cc9567b36ac664a26b0f43f (patch) | |
| tree | 119dfc8fffb56e5650e95556f57f33942317a9c9 /servers/visual/visual_server_canvas.cpp | |
| parent | d486973f58e645119f9a4d210173b41f02a335d2 (diff) | |
| parent | 8eedb2afe2b7e00c6317a30e98a388f78be6ac56 (diff) | |
| download | godot-a238e53da99c50491cc9567b36ac664a26b0f43f.tar.gz godot-a238e53da99c50491cc9567b36ac664a26b0f43f.tar.zst godot-a238e53da99c50491cc9567b36ac664a26b0f43f.zip | |
Diffstat (limited to 'servers/visual/visual_server_canvas.cpp')
| -rw-r--r-- | servers/visual/visual_server_canvas.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index 3e6e52411..dd8d07f00 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -440,13 +440,17 @@ void VisualServerCanvas::canvas_item_add_polyline(RID p_item, const Vector<Point if (p_antialiased) { pline->line_colors.push_back(Color(1, 1, 1, 1)); } - } - if (p_colors.size() == 1) { + } else if (p_colors.size() == 1) { pline->triangle_colors = p_colors; pline->line_colors = p_colors; } else { - pline->triangle_colors.resize(pline->triangles.size()); - pline->line_colors.resize(pline->lines.size()); + if (p_colors.size() != p_points.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++) { |
