# HG changeset patch # User Rik # Date 1461870741 25200 # Node ID 2e07dcdc613980000ed737ddad3b3e0b355126ed # Parent b4354327d2b51f8452db3933bbd75e60aa88a073 legend.m: Check handle is valid before delete (partial fix bug #47699). * legend.m (deletelegend2): Check that invisible object t1 is valid before trying to delete it. It may already have been deleted. * legend.m (hideshowlegend): Use variable name hlegend, not ca, for truth in advertising. diff -r b4354327d2b5 -r 2e07dcdc6139 scripts/plot/appearance/legend.m --- a/scripts/plot/appearance/legend.m Tue Apr 12 21:29:01 2016 +1000 +++ b/scripts/plot/appearance/legend.m Thu Apr 28 12:12:21 2016 -0700 @@ -1148,11 +1148,11 @@ endfor endfunction -function deletelegend1 (h, ~, ca) - if (isaxes (ca) +function deletelegend1 (h, ~, hlegend) + if (isaxes (hlegend) && (isempty (gcbf ()) || strcmp (get (gcbf (), "beingdeleted"), "off")) - && strcmp (get (ca, "beingdeleted"), "off")) - delete (ca); + && strcmp (get (hlegend, "beingdeleted"), "off")) + delete (hlegend); endif endfunction @@ -1172,8 +1172,10 @@ endif endif endfor - set (t1, "deletefcn", ""); - delete (t1); + if (ishandle (t1)) + set (t1, "deletefcn", ""); + delete (t1); + endif for i = 1 : numel (hplots) if (ishandle (hplots(i)) && strcmp (get (hplots(i), "type"), "line")) dellistener (hplots(i), "color");