I isolated it to removeDuplicateGradients or something it calls.
In Scour revision 195, elements referencing a duplicate gradient are updated for renaming only in xlink:href and XML fill=, stroke= etc. attributes, so anything in style= doesn't get updated.
I confirmed that it's removeDuplicateGradients messing up the document, because with its code to rename and remove gradients commented out, deja-dup.svg renders correctly again.
However, adding code to update style= (basically a call to renameID from --shorten-ids's code, but without updating the dup gradient's ID before removing it) makes the problem worse. It removes the blueness of the arrow completely in Firefox.
I isolated it to removeDuplicate Gradients or something it calls.
In Scour revision 195, elements referencing a duplicate gradient are updated for renaming only in xlink:href and XML fill=, stroke= etc. attributes, so anything in style= doesn't get updated.
I confirmed that it's removeDuplicate Gradients messing up the document, because with its code to rename and remove gradients commented out, deja-dup.svg renders correctly again.
However, adding code to update style= (basically a call to renameID from --shorten-ids's code, but without updating the dup gradient's ID before removing it) makes the problem worse. It removes the blueness of the arrow completely in Firefox.
Something's very wrong here...