Critical warnings with symbols and clones
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Low
|
Mc | ||
0.92.x |
Fix Released
|
Low
|
Mc |
Bug Description
In lp:inkscape (trunk) and lp:inkscape/0.92.x, interacting with symbols and clones may trigger console messages like these:
** (inkscape:45273): CRITICAL **: SPObject *SPDocument:
Just opening the Symbols dialog in a new drawing in a new document window produces 324 such warnings, and every time a different symbol set is selected, or a symbol is instantiated on the canvas a new warning is generated.
Other circumstances:
- load a file which has instances of <symbol> elements (see attached)
- create a text object and clone it
- group/ungroup, duplicate or copy&paste a clone of a text object or a clone referencing a symbol
- ... probably more.
Based on tests with archived builds (on OS X 10.7.5):
- not reproduced with Inkscape 0.91 r13725
- not reproduced with lp:inkscape/0.92.x <= 15133,
- reproduced with lp:inkscape/0.92.x >= 15138,
- reproduced with Inkscape 0.92pre5 r15287;
these warnings seem to have been exposed in lp:inkscape/0.92.x with the changes in r15138, which is a backport of lp:inkscape r15193:
https:/
https:/
Revision 15193: Fix regression in loop prevention (bug #1636533)
https:/
Reproduced with Inkscape 0.92+devel r15371 on Ubuntu 14.04 and Inkscape 0.92pre5 r15288 on OS X 10.7.5.
=====
Comments from Mc on irc (#inkscape-devel):
Mc : I see how it's linked to this rev
Mc : but I don't know how to fix it simply
Mc : I would need a 3m x 5m whiteboard and a full week to figure out in which order inkscape builds elements to do it properly :/
Mc : (except if I just replace "if(object-
...
Mc : I think it's when clones are created before their base objects
Mc : (ie it creates an "unlinked" clone poitning to a not-yet-existant object)
Mc : there also may be several sources of these warnings
Mc : (they'll appear as soon as someone in the code tries to get an object with its id without ensuring an object with this id already exists)
Changed in inkscape: | |
milestone: | 0.92.1 → 0.93 |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
Reproduced on Windows XP (32-bit) with lp:inkscape/0.92.x rev. 15302.