# HG changeset patch # User Rik # Date 1651296448 25200 # Node ID 29573bab8328d45d8f7c270e7e41fbf020ed75ca # Parent ba701853b1bfe864e653cfafca2a6656d486a00d# Parent 9a9374ed52704690419cd2063fe09cd3b9160f04 maint: merge stable to default diff -r ba701853b1bf -r 29573bab8328 scripts/plot/util/findobj.m --- a/scripts/plot/util/findobj.m Wed Apr 27 19:03:12 2022 +0200 +++ b/scripts/plot/util/findobj.m Fri Apr 29 22:27:28 2022 -0700 @@ -101,28 +101,30 @@ handles = 0; n1 = 0; else - if (! isempty (varargin{1})) - if (ishghandle (varargin{1}(1))) - handles = varargin{1}; - n1 = 2; - else - handles = 0; - n1 = 1; - endif - else + if (isempty (varargin{1})) ## Return [](0x1) for compatibility. h = zeros (0, 1); return; endif + arg1 = varargin{1}; + if (isnumeric (arg1)) + if (! all (ishghandle (arg1))) + error ("findobj: invalid graphics handles in input HLIST"); + endif + handles = arg1; + n1 = 2; + else + handles = 0; + n1 = 1; + endif if (n1 <= nargin) - if (ischar (varargin{n1})) - if (strcmpi (varargin{n1}, "flat")) - depth = 0; - n1 += 1; - endif - else + if (! ischar (varargin{n1})) error ("findobj: properties and options must be strings"); endif + if (strcmpi (varargin{n1}, "flat")) + depth = 0; + n1 += 1; + endif endif endif @@ -443,3 +445,7 @@ %! unwind_protect_cleanup %! close (hf); %! end_unwind_protect + +## Test input validation +%!error findobj ([0 1 10], "flat") +%!error findobj ({0}, "flat")