fix id clash in pdflatex

What does the merge request do?

Fix the clash of ids in clip-paths (sort-of-regression from !453 (merged))

Closes #475 (closed)

Technically the error existed in 1.0.x, but the removal of set_random_ids (which I thought was not necessary due to recursively unlinking clones in the PDF-SVG conversion, and introduced a character substitution bug) in !453 (merged) made this bug much more likely to occur. This should also go in 1.2.1.

Implementation notes

Two changes in inkex were necessary:

  • allowing to pass a blacklist to set_random_id(s) and related functions, in order to avoid id clashes with objects from both the target and the temporary imported document
  • the ID backreference update now also updates references in clip-path and mask attributes.

Both changes have a unit test. I've opted not to add an extra unit test to the pdflatex extension.

Summary for release notes

Fix an issue with disappearing characters in the pdflatex extension.

Checklist

  • Add unit tests (if applicable)
  • Changes to inkex/ are well documented
  • Clean merge request history

Merge request reports

Loading