Mercurial > octave
changeset 32034:43e4c7f59889
maint: merge stable to default
author | Rik <rik@octave.org> |
---|---|
date | Tue, 18 Apr 2023 11:26:31 -0700 |
parents | 99c6403da856 (current diff) 1824e0ee4088 (diff) |
children | 80fef9315743 |
files | libinterp/corefcn/graphics.cc |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/graphics.cc Tue Apr 18 15:11:04 2023 +0200 +++ b/libinterp/corefcn/graphics.cc Tue Apr 18 11:26:31 2023 -0700 @@ -7883,6 +7883,7 @@ return; // minor ticks between, above, and below min and max ticks + const int MAX_MINOR_TICKS = 1000; int n = (is_logscale ? 8 : 4); double mult_below = (is_logscale ? tmp_ticks(1) / tmp_ticks(0) : 1); double mult_above = (is_logscale ? tmp_ticks(n_ticks-1) / tmp_ticks(n_ticks-2) @@ -7892,6 +7893,9 @@ int n_below = static_cast<int> (std::floor ((tmp_ticks(0)-lo_lim) / d_below)); if (n_below < 0) n_below = 0; + else if (n_below > MAX_MINOR_TICKS) + n_below = MAX_MINOR_TICKS; + int n_between = n * (n_ticks - 1); double d_above = (tmp_ticks(n_ticks-1) - tmp_ticks(n_ticks-2)) * mult_above / (n+1); @@ -7899,6 +7903,8 @@ / d_above)); if (n_above < 0) n_above = 0; + else if (n_above > MAX_MINOR_TICKS) + n_above = MAX_MINOR_TICKS; Matrix tmp_mticks (1, n_below + n_between + n_above); for (int i = 0; i < n_below; i++)