
On 27/02/10 13:23, WanMil wrote:
/** * Copy the tags of the other element. Only to be used internally * by subclasses. * @param other The other element. All its tags will be copied to this * element. */ public void copyTags(Element other) { if (other.tags != null) tags = other.tags.copy(); }
So the copyTags does not add but replace all tags. But only if the other element has tags. This is weird. So I think replaceTags would be a better name and the other.tags==null case should be handled:
Originally it was used to copy tags from an existing element to a newly created one, so there wasn't really much of a problem.
This is still mostly the case, except in the multipolygon code which is no doubt why you are bringing this up :)
So yes, your changes appear fine to me as they will not affect the original cases. Also the comment about only being used in subclasses is wrong/out of date.
..Steve
Yeah, I use this in the multipolygon code and stumbled over it. The patch fixes the copyTags method and adds a null check to the getTagsWithPrefix method (which might have been bigger problem). WanMil