Mercurial > octave
changeset 27906:1a06fa2fe13a
Don't error out in __magick_read__ if disable_range is true (bug #57528).
* __magick_read__.cc (get_region_range): Add else if block to check whether input
to function is an array object. If found, decode base, limit, and increment
from array and then call Range constructor.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 03 Jan 2020 15:30:39 -0800 |
parents | d1862db3bffb |
children | c5f5f7044196 |
files | libinterp/corefcn/__magick_read__.cc |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/__magick_read__.cc Fri Jan 03 11:43:24 2020 -0800 +++ b/libinterp/corefcn/__magick_read__.cc Fri Jan 03 15:30:39 2020 -0800 @@ -144,6 +144,7 @@ get_region_range (const octave_value& region) { Range output; + if (region.is_range ()) output = region.range_value (); else if (region.is_scalar_type ()) @@ -151,6 +152,14 @@ double value = region.scalar_value (); output = Range (value, value); } + else if (region.is_matrix_type ()) + { + NDArray array = region.array_value (); + double base = array(0); + double limit = array(array.numel () - 1); + double incr = array(1) - base; + output = Range (base, limit, incr); + } else error ("__magick_read__: unknown datatype for Region option");