Mercurial > octave
changeset 28678:e44ab1089f61
print.m: Fix printing when some "units" properties are not "data" (bug #59015).
* print.m: Change findall() command to only locate "text" graphics objects and
make sure the "units" property of these objects is set to "data" or "normalized".
author | Rik <rik@octave.org> |
---|---|
date | Thu, 03 Sep 2020 07:42:52 -0700 |
parents | 7db56a2694ae |
children | e6928695dacb |
files | scripts/plot/util/print.m |
diffstat | 1 files changed, 14 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/plot/util/print.m Wed Sep 02 10:57:10 2020 -0400 +++ b/scripts/plot/util/print.m Thu Sep 03 07:42:52 2020 -0700 @@ -474,12 +474,21 @@ set (opts.figure, "__printing__", "on"); nfig += 1; - ## print() requires children of axes to have units = "normalized", or "data" - hobj = findall (opts.figure, "-not", "type", "figure", ... - "-not", "type", "axes", "-property", "units", ... + ## print() requires children of axes to have units = "normalized" or "data" + ## FIXME: Bug #59015. The only graphics object type to which this + ## requirement applies seems to be 'text' objects. It is simpler, and + ## clearer, to just select those objects. The old code is left commented + ## out until sufficient testing has been done. + ## Change made: 2020/09/02. + ##hobj = findall (opts.figure, "-not", "type", "figure", ... + ## "-not", "type", "axes", "-not", "type", "hggroup", ... + ## "-property", "units", ... + ## "-not", "units", "normalized", "-not", "units", "data"); + ##hobj(strncmp (get (hobj, "type"), "ui", 2)) = []; + + hobj = findall (opts.figure, "type", "text", "-not", "units", "normalized", "-not", "units", "data"); - hobj(strncmp (get (hobj, "type"), "ui", 2)) = []; - for n = 1:numel(hobj) + for n = 1:numel (hobj) props(end+1).h = hobj(n); props(end).name = "units"; props(end).value = {get(hobj(n), "units")};