History log of /inkscape/src/sp-tag-use-reference.cpp
Revision Date Author Comments Expand
901d2d4a59790c220c6589e17dbbf556d47dfe71 14-Jul-2015 Marc Jeanmougin <marcjeanmougin@free.fr>

Fix for circular references detection in almost all cases, fixing https://bugs.launchpad.net/inkscape/+bug/167247 and a few of its duplicates. This fix is aimed at preventing any sort of circular references with the URIReference::_acceptObject method, checking the absence of loops in the reference+child tree. There can be some performance improvements done if we add a pointer from cloned sub-objects to their origin sub-object. The remaining cases that are not fixed can involve non-trivial loops using one or more "url()" stylesheet references. Being able to take them into account would require a non-obvious style.cpp refactoring making use of URIReference for this kind of reference (and not handling manually the signals in the styling code, which would probably be a good thing to do anyway)

6afde8674707ca6bde7835c5a6e4f182daf789af 25-Feb-2015 Liam P. White <inkscapebrony@gmail.com>

create SPObject factory

Makefile_insert box3d-side.cpp box3d.cpp color-profile.cpp document.cpp factory.h filters/blend.cpp filters/colormatrix.cpp filters/componenttransfer-funcnode.cpp filters/componenttransfer.cpp filters/composite.cpp filters/convolvematrix.cpp filters/diffuselighting.cpp filters/displacementmap.cpp filters/distantlight.cpp filters/flood.cpp filters/gaussian-blur.cpp filters/image.cpp filters/merge.cpp filters/mergenode.cpp filters/morphology.cpp filters/offset.cpp filters/pointlight.cpp filters/specularlighting.cpp filters/spotlight.cpp filters/tile.cpp filters/turbulence.cpp live_effects/lpeobject.cpp persp3d.cpp sp-anchor.cpp sp-clippath.cpp sp-defs.cpp sp-desc.cpp sp-ellipse.cpp sp-factory.cpp sp-factory.h sp-filter.cpp sp-flowdiv.cpp sp-flowregion.cpp sp-flowtext.cpp sp-font-face.cpp sp-font.cpp sp-glyph.cpp sp-guide.cpp sp-hatch-path.cpp sp-hatch.cpp sp-image.cpp sp-item-group.cpp sp-line.cpp sp-linear-gradient.cpp sp-marker.cpp sp-mask.cpp sp-mesh-gradient.cpp sp-mesh-patch.cpp sp-mesh-row.cpp sp-metadata.cpp sp-missing-glyph.cpp sp-namedview.cpp sp-object.cpp sp-offset.cpp sp-path.cpp sp-pattern.cpp sp-polygon.cpp sp-polyline.cpp sp-radial-gradient.cpp sp-rect.cpp sp-root.cpp sp-script.cpp sp-solid-color.cpp sp-spiral.cpp sp-star.cpp sp-stop.cpp sp-string.cpp sp-style-elem.cpp sp-switch.cpp sp-symbol.cpp sp-tag-use-reference.cpp sp-tag-use.cpp sp-tag.cpp sp-text.cpp sp-title.cpp sp-tref.cpp sp-tspan.cpp sp-use.cpp
d2e42b9425ccd4c2d4c20c2217455da177035e48 27-Sep-2014 Liam P. White <inkscapebrony@gmail.com>

Update to experimental r13565

/inkscape/TRANSLATORS /inkscape/configure.ac /inkscape/po/POTFILES.in /inkscape/po/cs.po /inkscape/po/inkscape.pot /inkscape/po/it.po /inkscape/po/uk.po /inkscape/share/icons/icons.svg /inkscape/share/symbols/MapSymbols.svg /inkscape/share/symbols/MapSymbolsNPS.svg /inkscape/share/symbols/README /inkscape/share/templates/Makefile.am /inkscape/share/templates/README /inkscape/share/templates/create_defaults.pl /inkscape/share/templates/default.be.svg /inkscape/share/templates/default.ca.svg /inkscape/share/templates/default.cs.svg /inkscape/share/templates/default.de.svg /inkscape/share/templates/default.en_US.svg /inkscape/share/templates/default.eo.svg /inkscape/share/templates/default.es.svg /inkscape/share/templates/default.eu.svg /inkscape/share/templates/default.fi.svg /inkscape/share/templates/default.fr.svg /inkscape/share/templates/default.hu.svg /inkscape/share/templates/default.it.svg /inkscape/share/templates/default.ja.svg /inkscape/share/templates/default.lt.svg /inkscape/share/templates/default.nl.svg /inkscape/share/templates/default.pl.svg /inkscape/share/templates/default.pt_BR.svg /inkscape/share/templates/default.ro.svg /inkscape/share/templates/default.sk.svg /inkscape/share/templates/default.svg /inkscape/share/templates/default.zh_TW.svg /inkscape/share/templates/default_px.svg CMakeLists.txt Makefile.am Makefile_insert attribute-rel-util.h attributes.cpp attributes.h axis-manip.cpp axis-manip.h box3d-side.h box3d.h cms-color-types.h cms-system.h color-profile.h color-rgba.h color.cpp color.h conn-avoid-ref.h context-fns.cpp context-fns.h debug/gdk-event-latency-tracker.cpp debug/gdk-event-latency-tracker.h desktop-events.cpp desktop-style.cpp desktop-style.h dialogs/CMakeLists.txt dialogs/Makefile_insert dialogs/makefile.in dir-util.h display/cairo-utils.cpp display/cairo-utils.h display/canvas-arena.h display/canvas-axonomgrid.h display/canvas-bpath.cpp display/canvas-grid.h display/canvas-temporary-item-list.cpp display/canvas-temporary-item-list.h display/canvas-temporary-item.cpp display/canvas-temporary-item.h display/canvas-text.cpp display/curve.cpp display/curve.h display/drawing-context.h display/drawing-item.cpp display/drawing-item.h display/drawing-surface.h display/drawing.h display/gnome-canvas-acetate.h display/grayscale.cpp display/grayscale.h display/nr-3dutils.h display/nr-filter-blend.h display/nr-filter-colormatrix.h display/nr-filter-component-transfer.h display/nr-filter-composite.h display/nr-filter-convolve-matrix.h display/nr-filter-diffuselighting.h display/nr-filter-displacement-map.h display/nr-filter-flood.h display/nr-filter-gaussian.h display/nr-filter-image.h display/nr-filter-merge.h display/nr-filter-morphology.h display/nr-filter-offset.h display/nr-filter-primitive.h display/nr-filter-skeleton.h display/nr-filter-slot.h display/nr-filter-specularlighting.h display/nr-filter-tile.h display/nr-filter-turbulence.h display/nr-filter-types.h display/nr-filter-units.h display/nr-filter-utils.h display/nr-filter.h display/nr-light-types.h display/nr-light.cpp display/nr-light.h display/nr-svgfonts.h display/sp-canvas-item.h display/sp-canvas-util.h display/sp-canvas.cpp display/sp-canvas.h document-private.h document-undo.cpp document.cpp document.h draw-anchor.cpp draw-anchor.h event-log.h extension/implementation/script.cpp extension/internal/bitmap/crop.cpp extension/internal/bitmap/opacity.cpp extension/internal/cairo-render-context.h extension/internal/cdr-input.cpp extension/internal/gdkpixbuf-input.cpp extension/internal/gdkpixbuf-input.h extension/internal/pdfinput/pdf-input.cpp extension/internal/vsd-input.cpp extension/prefdialog.cpp extract-uri.h factory.h file.h filter-chemistry.h filter-enums.h filters/distantlight.h filters/pointlight.h filters/spotlight.h gc-anchored.h gc-core.h gradient-chemistry.h graphlayout.h helper-fns.h inkscape-version.h inkview.cpp interface.cpp interface.h isinf.h isnormal.h knot-holder-entity.h knot.h knotholder.cpp knotholder.h layer-manager.h layer-model.h libnrtype/Layout-TNG-Compute.cpp line-geometry.h line-snapper.cpp line-snapper.h live_effects/CMakeLists.txt live_effects/Makefile_insert live_effects/effect-enum.h live_effects/effect.cpp live_effects/effect.h live_effects/lpe-attach-path.cpp live_effects/lpe-attach-path.h live_effects/lpe-bounding-box.cpp live_effects/lpe-bounding-box.h live_effects/lpe-bspline.cpp live_effects/lpe-copy_rotate.cpp live_effects/lpe-ellipse_5pts.cpp live_effects/lpe-ellipse_5pts.h live_effects/lpe-fill-between-many.cpp live_effects/lpe-fill-between-many.h live_effects/lpe-fill-between-strokes.cpp live_effects/lpe-fill-between-strokes.h live_effects/lpe-fillet-chamfer.cpp live_effects/lpe-fillet-chamfer.h live_effects/lpe-interpolate_points.cpp live_effects/lpe-jointype.cpp live_effects/lpe-jointype.h live_effects/lpe-knot.cpp live_effects/lpe-knot.h live_effects/lpe-powerstroke-interpolators.h live_effects/lpe-powerstroke.cpp live_effects/lpe-powerstroke.h live_effects/lpe-roughen.cpp live_effects/lpe-roughen.h live_effects/lpe-tangent_to_curve.cpp live_effects/lpe-tangent_to_curve.h live_effects/lpe-taperstroke.cpp live_effects/lpe-taperstroke.h live_effects/lpeobject-reference.h live_effects/lpeobject.h live_effects/parameter/Makefile_insert live_effects/parameter/filletchamferpointarray.cpp live_effects/parameter/filletchamferpointarray.h live_effects/parameter/originalpatharray.cpp live_effects/parameter/originalpatharray.h live_effects/parameter/powerstrokepointarray.cpp live_effects/parameter/powerstrokepointarray.h live_effects/parameter/transformedpoint.cpp live_effects/parameter/transformedpoint.h live_effects/pathoutlineprovider.cpp live_effects/pathoutlineprovider.h main-cmdlineact.h marker.h menus-skeleton.h message-context.h message-stack.h number-opt-number.h object-edit.cpp object-hierarchy.cpp object-hierarchy.h path-chemistry.cpp path-chemistry.h path-prefix.h persp3d-reference.h persp3d.h perspective-line.h preferences-skeleton.h preferences.h prefix.cpp prefix.h print.h profile-manager.h proj_pt.cpp proj_pt.h rdf.h removeoverlap.h rubberband.h satisfied-guide-cns.h selcue.h selection-chemistry.cpp selection-chemistry.h selection-describer.h selection.h seltrans-handles.h seltrans.h shape-editor.h shortcuts.h snap-candidate.h snap-preferences.h snap.cpp snap.h snapped-curve.h snapped-point.h snapper.h sp-anchor.h sp-clippath.h sp-conn-end-pair.h sp-conn-end.h sp-cursor.cpp sp-cursor.h sp-defs.h sp-desc.h sp-ellipse.h sp-filter-primitive.h sp-filter.h sp-flowdiv.h sp-flowregion.h sp-flowtext.h sp-font-face.h sp-font.h sp-glyph-kerning.h sp-glyph.h sp-gradient-vector.h sp-gradient.cpp sp-gradient.h sp-guide.cpp sp-guide.h sp-image.h sp-item-group.cpp sp-item-group.h sp-item-notify-moveto.cpp sp-item-transform.cpp sp-item-transform.h sp-item.cpp sp-item.h sp-line.h sp-linear-gradient.cpp sp-linear-gradient.h sp-lpe-item.cpp sp-lpe-item.h sp-mask.h sp-mesh-array.cpp sp-mesh-array.h sp-mesh-gradient.cpp sp-mesh-gradient.h sp-mesh-patch.h sp-mesh-row.h sp-metadata.h sp-missing-glyph.h sp-namedview.cpp sp-namedview.h sp-object-group.h sp-object.cpp sp-object.h sp-offset.h sp-paint-server-reference.h sp-paint-server.h sp-path.h sp-pattern.h sp-polygon.h sp-polyline.h sp-radial-gradient.cpp sp-radial-gradient.h sp-rect.h sp-root.h sp-script.h sp-shape.h sp-solid-color.cpp sp-solid-color.h sp-spiral.h sp-star.h sp-stop.h sp-string.h sp-style-elem.h sp-switch.h sp-symbol.h sp-tag-use-reference.cpp sp-tag-use-reference.h sp-tag-use.cpp sp-tag-use.h sp-tag.cpp sp-tag.h sp-text.h sp-textpath.h sp-title.h sp-tref-reference.h sp-tref.h sp-tspan.h sp-use-reference.h sp-use.h splivarot.h streq.h style-enums.h style-internal.cpp style-internal.h style.h svg-view-widget.h svg-view.h svg/css-ostringstream.h svg/path-string.h svg/stringstream.h svg/svg-color.h svg/svg.h text-chemistry.h text-editing.h transf_mat_3x4.h ui/CMakeLists.txt ui/Makefile_insert ui/dialog-events.cpp ui/dialog-events.h ui/dialog/Makefile_insert ui/dialog/aboutbox.cpp ui/dialog/calligraphic-profile-rename.h ui/dialog/color-item.cpp ui/dialog/dialog-manager.cpp ui/dialog/dock-behavior.cpp ui/dialog/document-properties.cpp ui/dialog/export.cpp ui/dialog/filedialog.cpp ui/dialog/filedialog.h ui/dialog/filedialogimpl-gtkmm.cpp ui/dialog/filedialogimpl-win32.cpp ui/dialog/find.cpp ui/dialog/floating-behavior.cpp ui/dialog/font-substitution.cpp ui/dialog/guides.cpp ui/dialog/lpe-fillet-chamfer-properties.cpp ui/dialog/lpe-fillet-chamfer-properties.h ui/dialog/lpe-powerstroke-properties.cpp ui/dialog/lpe-powerstroke-properties.h ui/dialog/objects.cpp ui/dialog/objects.h ui/dialog/ocaldialogs.cpp ui/dialog/ocaldialogs.h ui/dialog/swatches.cpp ui/dialog/swatches.h ui/dialog/tags.cpp ui/dialog/tags.h ui/dialog/xml-tree.cpp ui/tool/multi-path-manipulator.cpp ui/tool/multi-path-manipulator.h ui/tool/node.cpp ui/tool/path-manipulator.cpp ui/tools/freehand-base.cpp ui/tools/freehand-base.h ui/tools/node-tool.cpp ui/tools/pen-tool.cpp ui/tools/pencil-tool.cpp ui/widget/Makefile_insert ui/widget/addtoicon.cpp ui/widget/addtoicon.h ui/widget/clipmaskicon.cpp ui/widget/clipmaskicon.h ui/widget/color-picker.cpp ui/widget/filter-effect-chooser.cpp ui/widget/filter-effect-chooser.h ui/widget/highlight-picker.cpp ui/widget/highlight-picker.h ui/widget/insertordericon.cpp ui/widget/insertordericon.h ui/widget/layertypeicon.cpp ui/widget/layertypeicon.h unclump.cpp unclump.h unicoderange.h uri-references.h uri.h vanishing-point.h verbs.cpp verbs.h version.cpp version.h widgets/dash-selector.cpp widgets/desktop-widget.cpp widgets/desktop-widget.h widgets/gradient-vector.cpp widgets/sp-color-icc-selector.cpp widgets/sp-color-notebook.cpp widgets/sp-color-scales.cpp widgets/sp-color-wheel-selector.cpp widgets/stroke-marker-selector.cpp widgets/stroke-style.cpp widgets/stroke-style.h xml/event.h xml/helper-observer.h xml/node-event-vector.h xml/node-observer.h xml/node.h xml/pi-node.h xml/quote.h xml/rebase-hrefs.h xml/repr.h xml/simple-node.h
a73b1f7fc9a9ba7e0d68f33292a885da6c2981d0 10-May-2014 Liam P. White <inkscapebronyat-signgmaildotcom>

Add selection sets

33827a2ec3e0fd81db88affda5026682b5289a84 07-Mar-2014 Liam P. White <inkscapebronyat-signgmaildotcom>

Start cleanup for merge into trunk

/inkscape/configure.ac /inkscape/share/palettes/MLP/All.gpl /inkscape/share/palettes/MLP/Applejack.gpl /inkscape/share/palettes/MLP/Daisy.gpl /inkscape/share/palettes/MLP/Fluttershy.gpl /inkscape/share/palettes/MLP/Lily.gpl /inkscape/share/palettes/MLP/Makefile.am /inkscape/share/palettes/MLP/Pinkie.gpl /inkscape/share/palettes/MLP/Rainbow-Dash.gpl /inkscape/share/palettes/MLP/Rarity.gpl /inkscape/share/palettes/MLP/Roseluck.gpl /inkscape/share/palettes/MLP/Silver-Rains.gpl /inkscape/share/palettes/MLP/Spike.gpl /inkscape/share/palettes/MLP/Twilight-Sparkle.gpl /inkscape/share/palettes/Makefile.am live_effects/effect.cpp live_effects/lpe-fill-between-many.cpp live_effects/lpe-jointype.cpp live_effects/parameter/originalpatharray.cpp live_effects/parameter/powerstrokepointarray.cpp live_effects/parameter/transformedpoint.cpp sp-gradient-fns.h sp-tag-use-reference.cpp sp-tag-use-reference.h sp-tag-use.cpp sp-tag-use.h sp-tag.cpp sp-tag.h ui/dialog/color-item.cpp ui/dialog/dialog-manager.cpp ui/dialog/lpe-powerstroke-properties.cpp ui/dialog/swatches.cpp ui/dialog/tags.cpp ui/dialog/tags.h ui/widget/addtoicon.h ui/widget/clipmaskicon.h ui/widget/highlight-picker.cpp ui/widget/highlight-picker.h ui/widget/insertordericon.cpp ui/widget/layertypeicon.h verbs.cpp verbs.h
fcc794c3b1863f6f0a004e9f38455b2ae44b9fff 05-Mar-2014 Liam P. White <inkscapebronyat-signgmaildotcom>

Added a few swatch related functions (does not compile)