"Clean up path" traceback due to missing subpath_iterator
Summary:
Using the Inkex bundled with Inkscape 1.4.2, the "Clean up path" extension fails with a traceback when attempting to preview its results.
Steps to reproduce:
- open Inkscape
- Create or import any SVG drawing
- Activate the Node tool
- Select some path-based drawing element
- Go to the menu and navigate to Extensions > Modify path > Clean up path...
- Check "Live preview" in the extension dialog
What happened?
An error dialog pops up with the following:
Traceback (most recent call last):
File "/usr/share/inkscape/extensions/clean_up_path.py", line 484, in <module>
CleanUpPath().run()
~~~~~~~~~~~~~~~~~^^
File "/usr/share/inkscape/extensions/inkex/base.py", line 255, in run
self.save_raw(self.effect())
~~~~~~~~~~~^^
File "/usr/share/inkscape/extensions/clean_up_path.py", line 133, in effect
"subpaths": [sub for sub in self.path_d.subpath_iterator()]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Path' object has no attribute 'subpath_iterator'
What should have happened?
The extension should've previewed its changes with no traceback.
Additional info
I strongly suspect this is related to extensions#606 (though it doesn't seem to be the same issue), and may also be addressed by extensions!689.
It's strange, though, because when extensions!499 (merged) was originally merged, subpath_iterator()
was added to inkex/paths/path.py
. Somehow it disappeared from 1.4.2, but clean_up_path.py
didn't.
Version info
Inkscape 1.4.2 (ebf0e940d0, 2025-05-08)
Compile (Run)
GLib version: 2.84.1
GTK version: 3.24.49 (3.24.49)
glibmm version: 2.66.8
gtkmm version: 3.24.10
libxml2 version: 2.12.10
libxslt version: 1.1.43
Cairo version: 1.18.2 (1.18.2)
Pango version: 1.56.3 (1.56.4)
HarfBuzz version: 10.4.0 (10.4.0)
OS version: Fedora Linux 42 (Adams)
Edited by FeRD (Frank Dana)