# HG changeset patch # User jwe # Date 1181931682 0 # Node ID d6e615183a804c1c8cdd5e22f778ac77069db818 # Parent 4ba39e63b005fc7b53686848729f20762265216d [project @ 2007-06-15 18:21:22 by jwe] diff --git a/src/graphics.cc b/src/graphics.cc --- a/src/graphics.cc +++ b/src/graphics.cc @@ -2146,6 +2146,8 @@ if (! error_state) { + bool request_drawnow = false; + for (octave_idx_type n = 0; n < hcv.length (); n++) { graphics_object obj = gh_manager::get_object (hcv(n)); @@ -2154,11 +2156,17 @@ { obj.set (args.splice (0, 1)); - feval ("__request_drawnow__"); + request_drawnow = true; } else - error ("set: invalid handle (= %g)", hcv(n)); + { + error ("set: invalid handle (= %g)", hcv(n)); + break; + } } + + if (! error_state && request_drawnow) + feval ("__request_drawnow__"); } else error ("set: expecting graphics handle as first argument"); @@ -2189,7 +2197,11 @@ if (! error_state) { - for (octave_idx_type n = 0; n < hcv.length (); n++) + octave_idx_type len = hcv.length (); + + vlist.resize (len); + + for (octave_idx_type n = 0; n < len; n++) { graphics_object obj = gh_manager::get_object (hcv(n)); @@ -2204,11 +2216,17 @@ if (! error_state) vlist(n) = obj.get (property); else - error ("get: expecting property name as second argument"); + { + error ("get: expecting property name as second argument"); + break; + } } } else - error ("get: invalid handle (= %g)", hcv(n)); + { + error ("get: invalid handle (= %g)", hcv(n)); + break; + } } } else @@ -2217,13 +2235,15 @@ else print_usage (); - if (vlist.length () > 1) + if (! error_state) { - Cell c(vlist); - retval = c; + octave_idx_type len = vlist.length (); + + if (len > 1) + retval = Cell (vlist); + else if (len == 1) + retval = vlist(0); } - else - retval = vlist(0); return retval; }