DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25803>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25803

[PATCH] PropertyList: Fixes to convertAttributeToProperty and findBaseProperty





------- Additional Comments From [EMAIL PROTECTED]  2003-12-30 18:59 -------
<fo:leader leader-length="120pt" leader-length.maximum="200pt"/> 

works alright in the current code, but 

<fo:leader leader-length.maximum="200pt" leader-length="120pt"/> 

does not. 

When leader-length.maximum is dealt with, then (else branch in
PropertyList.convertAttributeToProperty, see the patch)
Propertylist.findBaseProperty retrieves the base attribute
leader-length from the attributes, and constructs the compound
property based on this attribute value first; then the specified
maximum value is set on it as a subproperty.

Later PropertyList.addAttributesToList encounters leader-length in the
attributes, and overwrites the property just constructed with a new
property constructed based on this attribute-value alone (if branch in
PropertyList.convertAttributeToProperty, see the patch). So the
specified value of leader-length.maximum is lost. 

My solution is, when the base property already exists, to assume that
this attribute has already been dealt with, and do nothing. This
should work OK:

1. Attributes can only be specified once.  

2. Two compound attributes, such as leader-length.maximum and
leader-length.optimum, would not be affected, because this case uses the
else branch in PropertyList.convertAttributeToProperty and
findBaseProperty would retrieve the already constructed base property,
and add the newly specified component to it.

3. Any cases I overlook?

Reply via email to