diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-06-21 12:25:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-21 12:25:18 +0200 |
commit | 02319dceb2e17184eb765c67719a306f56dafc1b (patch) | |
tree | 1f986609a5ed8ba1049ccdc57f2ba55647673b6a /scene/resources/gradient.cpp | |
parent | 1e833cadbcf1403eec85fa85b290328bc1bf5179 (diff) | |
parent | c77ff48a85e5d16b54a5b4d151f5515e56082000 (diff) |
Merge pull request #29947 from qarmin/fix_some_editor_crashes
Fix some editor crashes
Diffstat (limited to 'scene/resources/gradient.cpp')
-rw-r--r-- | scene/resources/gradient.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/scene/resources/gradient.cpp b/scene/resources/gradient.cpp index 99ce8ef821..1ff02c2f82 100644 --- a/scene/resources/gradient.cpp +++ b/scene/resources/gradient.cpp @@ -143,6 +143,8 @@ void Gradient::set_points(Vector<Gradient::Point> &p_points) { } void Gradient::set_offset(int pos, const float offset) { + + ERR_FAIL_COND(pos < 0); if (points.size() <= pos) points.resize(pos + 1); points.write[pos].offset = offset; @@ -151,12 +153,12 @@ void Gradient::set_offset(int pos, const float offset) { } float Gradient::get_offset(int pos) const { - if (points.size() && points.size() > pos) - return points[pos].offset; - return 0; //TODO: Maybe throw some error instead? + ERR_FAIL_INDEX_V(pos, points.size(), 0.0); + return points[pos].offset; } void Gradient::set_color(int pos, const Color &color) { + ERR_FAIL_COND(pos < 0); if (points.size() <= pos) { points.resize(pos + 1); is_sorted = false; @@ -166,9 +168,8 @@ void Gradient::set_color(int pos, const Color &color) { } Color Gradient::get_color(int pos) const { - if (points.size() && points.size() > pos) - return points[pos].color; - return Color(0, 0, 0, 1); //TODO: Maybe throw some error instead? + ERR_FAIL_INDEX_V(pos, points.size(), Color()); + return points[pos].color; } int Gradient::get_points_count() const { |