Skip to content

dxf14: better error message on too deeply nested SVG

What does the merge request do?

Closes #360 (closed)

Implementation notes

We could rewrite the recursive implementation into an iterative one. But the structure of the code isn't really well-suited for this (e.g. no tail recursion) and this happens really rarely, plus a >1000 level SVG is a pain to work with anyway.

So I just added an error message (luckily, on Python, one can catch StackOverflows!) and a unit test.

Summary for release notes

The DXF14 export now shows a better error message in case of a very, very deeply nested SVG document.

Checklist

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

Merge request reports