Symbols: Same name used in different sets results in overwriting
Summary:
When I have two or more symbol sets where symbols share an id, the symbol that is first dragged onto the drawing overwrites the next one from another set, i.e. the second set does not work.
Symbols should be getting a set-specific suffix when they are dragged out of the dialog.
Currently, already the first one is called '[id]_inkscape_duplicate' in the status line, even though it is not a duplicate, so I guess some type of detection of duplicate symbol ids is going on already, but it does not work correctly.
Also, it's not counting, so it looks to me as if more than 1 duplicate appears to have not been considered by the dev who wrote this...?
In the XML editor, I can see that the id is just taken as is, without any reference to the set it came from.
Steps to reproduce:
- Add the following three symbol sets (that contain letters) to your custom /symbols directory:
- open Inkscape
- open Symbols dialog
- drag A from Flag Semaphore color set onto canvas
- now drag A from Flag Semaphore outline set onto canvas
- for fun, also try this with the corresponding Maritime Signal flag...
What happened?
All resulting symbols look like the first one, though they are all different.
What should have happened?
- Symbols should keep their appearance.
- Additionally: The symbol's TITLE attribute should be used for the symbols dialog, if available. Not the ID! Titles allow for proper typography, with spaces, while ID does not.
Version info
Inkscape 1.3.2 (1:1.3.2+202311252150+091e20ef0f)
GLib version: 2.72.4
GTK version: 3.24.33
glibmm version: 2.66.2
gtkmm version: 3.24.5
libxml2 version: 2.9.13
libxslt version: 1.1.34
Cairo version: 1.16.0
Pango version: 1.50.6
HarfBuzz version: 2.7.4
OS version: Linux Mint 21.3