https://issues.apache.org/bugzilla/show_bug.cgi?id=37579





--- Comment #25 from Andreas L. Delmelle <[EMAIL PROTECTED]>  2008-05-05 
09:16:07 PST ---
(In reply to comment #24)
> ...
> It is only that percentage which causes the error. For 'normal' 
> list-item-label
> descendants, the base-length is found by climbing up the LM tree until the
> corresponding LM is found. That's what happens in
> AbstractBaseLM.getBaseLength(). 
> Come to think of it, maybe a way to avoid the warning would be to reimplement
> getBaseLength() in FootnoteBodyLM, to do something else than try out all
> ancestors... (long shot)

Did some further research, and the ancestor tree for both footnotes' LMs (label
and body) looks like:
ListItemContentLayoutManager
-> BlockLayoutManager
  -> LineLayoutManager
    -> FootnoteLayoutManager
      -> FootnoteBodyLayoutManager

The default getBaseLength() in percentage resolution relies on the LM's
getFObj() method to find the LM corresponding to the FO on which the percentage
is based (the one that is passed as an argument to the PercentLength
constructor in LabelEndFunction).

For the ListItemContentLayoutManager, this method always returns the
ListItemBody (never the ListItemLabel).

It would probably work as expected if we had separate ListItemLabelLM and
ListItemBodyLM. Similar issues occur with the table-related objects BTW, where
we also do not have a 1-1 correspondence between FO and LM...


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to