History log of /inkscape/src/live_effects/lpeobject-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)

b1e9412390109d31b8fac91c39b927536d3f0858 21-Feb-2011 Jon A. Cruz <jon@joncruz.org>

Finished cleanup of outdated SP_OBJECT_PARENT C macro.

e9b6af083e34e2397a8ddbe9781920733d09d151 27-Oct-2008 Ted Gould <ted@canonical.com>

From trunk

/inkscape/AUTHORS /inkscape/inkscape.pod /inkscape/po/POTFILES.in /inkscape/po/ko.po /inkscape/po/pl.po /inkscape/po/ru.po /inkscape/share/extensions/dimension.py /inkscape/share/extensions/draw_from_triangle.inx /inkscape/share/extensions/draw_from_triangle.py /inkscape/share/extensions/dxf_outlines.py /inkscape/share/extensions/polyhedron_3d.inx /inkscape/share/extensions/polyhedron_3d.py /inkscape/share/extensions/render_barcode.inx /inkscape/share/extensions/simplestyle.py /inkscape/share/icons/icons.svg /inkscape/src/Makefile_insert /inkscape/src/arc-context.cpp /inkscape/src/attributes-test.h /inkscape/src/attributes.cpp /inkscape/src/attributes.h /inkscape/src/box3d-context.cpp /inkscape/src/box3d-side.cpp /inkscape/src/box3d.cpp /inkscape/src/color-profile.cpp /inkscape/src/common-context.cpp /inkscape/src/conn-avoid-ref.cpp /inkscape/src/connector-context.cpp /inkscape/src/connector-context.h /inkscape/src/context-fns.cpp /inkscape/src/debug/gdk-event-latency-tracker.cpp /inkscape/src/desktop-events.cpp /inkscape/src/desktop-handles.h /inkscape/src/desktop-style.cpp /inkscape/src/desktop-style.h /inkscape/src/desktop.cpp /inkscape/src/desktop.h /inkscape/src/dialogs/clonetiler.cpp /inkscape/src/dialogs/dialog-events.cpp /inkscape/src/dialogs/export.cpp /inkscape/src/dialogs/fill-style.cpp /inkscape/src/dialogs/find.cpp /inkscape/src/dialogs/iconpreview.cpp /inkscape/src/dialogs/input.cpp /inkscape/src/dialogs/item-properties.cpp /inkscape/src/dialogs/layers-panel.cpp /inkscape/src/dialogs/stroke-style.cpp /inkscape/src/dialogs/swatches.cpp /inkscape/src/dialogs/swatches.h /inkscape/src/dialogs/text-edit.cpp /inkscape/src/dialogs/tiledialog.cpp /inkscape/src/dialogs/xml-tree.cpp /inkscape/src/display/bezier-utils-test.cpp /inkscape/src/display/bezier-utils-test.h /inkscape/src/display/bezier-utils.cpp /inkscape/src/display/canvas-arena.h /inkscape/src/display/canvas-axonomgrid.cpp /inkscape/src/display/canvas-grid.cpp /inkscape/src/display/canvas-grid.h /inkscape/src/display/canvas-text.cpp /inkscape/src/display/canvas-text.h /inkscape/src/display/nr-arena-glyphs.cpp /inkscape/src/display/nr-arena-glyphs.h /inkscape/src/display/nr-arena-image.cpp /inkscape/src/display/nr-arena-item.cpp /inkscape/src/display/nr-arena-shape.cpp /inkscape/src/display/nr-arena-shape.h /inkscape/src/display/nr-filter-gaussian.cpp /inkscape/src/display/nr-filter-slot.cpp /inkscape/src/display/nr-filter-slot.h /inkscape/src/display/nr-filter-types.h /inkscape/src/display/nr-filter.cpp /inkscape/src/display/nr-filter.h /inkscape/src/display/nr-svgfonts.cpp /inkscape/src/display/sp-canvas.cpp /inkscape/src/display/sp-canvas.h /inkscape/src/display/sp-ctrlquadr.cpp /inkscape/src/document.cpp /inkscape/src/draw-anchor.cpp /inkscape/src/draw-anchor.h /inkscape/src/draw-context.cpp /inkscape/src/dropper-context.cpp /inkscape/src/dyna-draw-context.cpp /inkscape/src/eraser-context.cpp /inkscape/src/event-context.cpp /inkscape/src/event-context.h /inkscape/src/extension/error-file.cpp /inkscape/src/extension/implementation/script.cpp /inkscape/src/extension/init.cpp /inkscape/src/extension/internal/bluredge.cpp /inkscape/src/extension/internal/cairo-ps-out.cpp /inkscape/src/extension/internal/cairo-renderer-pdf-out.cpp /inkscape/src/extension/internal/cairo-renderer.cpp /inkscape/src/extension/internal/gdkpixbuf-input.cpp /inkscape/src/extension/internal/pdfinput/svg-builder.cpp /inkscape/src/extension/param/bool.cpp /inkscape/src/extension/param/color.cpp /inkscape/src/extension/param/color.h /inkscape/src/extension/param/description.cpp /inkscape/src/extension/param/enum.cpp /inkscape/src/extension/param/float.cpp /inkscape/src/extension/param/int.cpp /inkscape/src/extension/param/notebook.cpp /inkscape/src/extension/param/parameter.cpp /inkscape/src/extension/param/parameter.h /inkscape/src/extension/param/radiobutton.cpp /inkscape/src/extension/param/string.cpp /inkscape/src/file.cpp /inkscape/src/flood-context.cpp /inkscape/src/fontsize-expansion.cpp /inkscape/src/fontsize-expansion.h /inkscape/src/gradient-chemistry.cpp /inkscape/src/gradient-context.cpp /inkscape/src/gradient-drag.cpp /inkscape/src/graphlayout/graphlayout.cpp /inkscape/src/guide-snapper.cpp /inkscape/src/helper/png-write.cpp /inkscape/src/inkscape.cpp /inkscape/src/inkscape.h /inkscape/src/inkview.cpp /inkscape/src/interface.cpp /inkscape/src/io/sys.cpp /inkscape/src/knot-holder-entity.cpp /inkscape/src/knot.cpp /inkscape/src/layer-manager.cpp /inkscape/src/line-snapper.cpp /inkscape/src/line-snapper.h effect.cpp effect.h lpe-bendpath.cpp lpe-bendpath.h lpe-curvestitch.cpp lpe-envelope.cpp lpe-envelope.h lpe-knot.cpp lpe-patternalongpath.cpp lpe-patternalongpath.h lpe-sketch.cpp lpe-sketch.h lpe-vonkoch.cpp lpe-vonkoch.h lpegroupbbox.cpp lpeobject-reference.cpp /inkscape/src/lpe-tool-context.cpp /inkscape/src/main.cpp /inkscape/src/marker.cpp /inkscape/src/marker.h /inkscape/src/menus-skeleton.h /inkscape/src/node-context.cpp /inkscape/src/nodepath.cpp /inkscape/src/nodepath.h /inkscape/src/object-edit.cpp /inkscape/src/object-snapper.cpp /inkscape/src/object-snapper.h /inkscape/src/path-chemistry.cpp /inkscape/src/path-chemistry.h /inkscape/src/pen-context.cpp /inkscape/src/pencil-context.cpp /inkscape/src/pencil-context.h /inkscape/src/preferences-skeleton.h /inkscape/src/preferences.cpp /inkscape/src/preferences.h /inkscape/src/prefs-utils.cpp /inkscape/src/prefs-utils.h /inkscape/src/rect-context.cpp /inkscape/src/selcue.cpp /inkscape/src/select-context.cpp /inkscape/src/selection-chemistry.cpp /inkscape/src/selection.cpp /inkscape/src/selection.h /inkscape/src/seltrans.cpp /inkscape/src/shape-editor.cpp /inkscape/src/snap-preferences.cpp /inkscape/src/snap-preferences.h /inkscape/src/snap.cpp /inkscape/src/snap.h /inkscape/src/snapper.cpp /inkscape/src/snapper.h /inkscape/src/sp-ellipse.cpp /inkscape/src/sp-flowtext.cpp /inkscape/src/sp-flowtext.h /inkscape/src/sp-guide.cpp /inkscape/src/sp-guide.h /inkscape/src/sp-image.cpp /inkscape/src/sp-item-group.cpp /inkscape/src/sp-item-notify-moveto.cpp /inkscape/src/sp-item-rm-unsatisfied-cns.cpp /inkscape/src/sp-item-update-cns.cpp /inkscape/src/sp-item.cpp /inkscape/src/sp-item.h /inkscape/src/sp-lpe-item.cpp /inkscape/src/sp-namedview.cpp /inkscape/src/sp-offset.cpp /inkscape/src/sp-offset.h /inkscape/src/sp-path.cpp /inkscape/src/sp-rect.cpp /inkscape/src/sp-shape.cpp /inkscape/src/sp-spiral.cpp /inkscape/src/sp-star.cpp /inkscape/src/sp-text.cpp /inkscape/src/sp-use-reference.cpp /inkscape/src/sp-use.cpp /inkscape/src/spiral-context.cpp /inkscape/src/splivarot.cpp /inkscape/src/star-context.cpp /inkscape/src/style.cpp /inkscape/src/style.h /inkscape/src/svg-view.cpp /inkscape/src/svg/css-ostringstream.cpp /inkscape/src/svg/path-string.cpp /inkscape/src/svg/stringstream.cpp /inkscape/src/svg/svg-affine.cpp /inkscape/src/svg/svg-color-test.h /inkscape/src/svg/svg-color.cpp /inkscape/src/svg/svg-path-geom-test.h /inkscape/src/text-context.cpp /inkscape/src/text-context.h /inkscape/src/text-editing.cpp /inkscape/src/tools-switch.cpp /inkscape/src/tweak-context.cpp /inkscape/src/ui/clipboard.cpp /inkscape/src/ui/context-menu.cpp /inkscape/src/ui/dialog/aboutbox.cpp /inkscape/src/ui/dialog/aboutbox.h /inkscape/src/ui/dialog/align-and-distribute.cpp /inkscape/src/ui/dialog/align-and-distribute.h /inkscape/src/ui/dialog/behavior.h /inkscape/src/ui/dialog/dialog-manager.cpp /inkscape/src/ui/dialog/dialog-manager.h /inkscape/src/ui/dialog/dialog.cpp /inkscape/src/ui/dialog/dialog.h /inkscape/src/ui/dialog/dock-behavior.cpp /inkscape/src/ui/dialog/dock-behavior.h /inkscape/src/ui/dialog/document-metadata.cpp /inkscape/src/ui/dialog/document-metadata.h /inkscape/src/ui/dialog/document-properties.cpp /inkscape/src/ui/dialog/document-properties.h /inkscape/src/ui/dialog/extension-editor.cpp /inkscape/src/ui/dialog/extension-editor.h /inkscape/src/ui/dialog/filedialog.cpp /inkscape/src/ui/dialog/filedialog.h /inkscape/src/ui/dialog/filedialogimpl-gtkmm.cpp /inkscape/src/ui/dialog/filedialogimpl-gtkmm.h /inkscape/src/ui/dialog/filedialogimpl-win32.cpp /inkscape/src/ui/dialog/filedialogimpl-win32.h /inkscape/src/ui/dialog/fill-and-stroke.cpp /inkscape/src/ui/dialog/fill-and-stroke.h /inkscape/src/ui/dialog/filter-effects-dialog.cpp /inkscape/src/ui/dialog/filter-effects-dialog.h /inkscape/src/ui/dialog/find.cpp /inkscape/src/ui/dialog/find.h /inkscape/src/ui/dialog/floating-behavior.cpp /inkscape/src/ui/dialog/floating-behavior.h /inkscape/src/ui/dialog/inkscape-preferences.cpp /inkscape/src/ui/dialog/inkscape-preferences.h /inkscape/src/ui/dialog/input.cpp /inkscape/src/ui/dialog/input.h /inkscape/src/ui/dialog/livepatheffect-editor.cpp /inkscape/src/ui/dialog/livepatheffect-editor.h /inkscape/src/ui/dialog/memory.cpp /inkscape/src/ui/dialog/memory.h /inkscape/src/ui/dialog/messages.cpp /inkscape/src/ui/dialog/messages.h /inkscape/src/ui/dialog/ocaldialogs.cpp /inkscape/src/ui/dialog/ocaldialogs.h /inkscape/src/ui/dialog/panel-dialog.h /inkscape/src/ui/dialog/print.cpp /inkscape/src/ui/dialog/print.h /inkscape/src/ui/dialog/scriptdialog.cpp /inkscape/src/ui/dialog/scriptdialog.h /inkscape/src/ui/dialog/session-player.cpp /inkscape/src/ui/dialog/session-player.h /inkscape/src/ui/dialog/svg-fonts-dialog.cpp /inkscape/src/ui/dialog/svg-fonts-dialog.h /inkscape/src/ui/dialog/tracedialog.cpp /inkscape/src/ui/dialog/tracedialog.h /inkscape/src/ui/dialog/transformation.cpp /inkscape/src/ui/dialog/transformation.h /inkscape/src/ui/dialog/undo-history.cpp /inkscape/src/ui/dialog/undo-history.h /inkscape/src/ui/dialog/whiteboard-connect.cpp /inkscape/src/ui/dialog/whiteboard-connect.h /inkscape/src/ui/dialog/whiteboard-sharewithchat.cpp /inkscape/src/ui/dialog/whiteboard-sharewithchat.h /inkscape/src/ui/dialog/whiteboard-sharewithuser.cpp /inkscape/src/ui/dialog/whiteboard-sharewithuser.h /inkscape/src/ui/view/edit-widget.cpp /inkscape/src/ui/widget/dock-item.cpp /inkscape/src/ui/widget/dock.cpp /inkscape/src/ui/widget/dock.h /inkscape/src/ui/widget/panel.cpp /inkscape/src/ui/widget/panel.h /inkscape/src/ui/widget/preferences-widget.cpp /inkscape/src/ui/widget/preferences-widget.h /inkscape/src/ui/widget/registered-widget.cpp /inkscape/src/ui/widget/style-swatch.cpp /inkscape/src/ui/widget/style-swatch.h /inkscape/src/vanishing-point.cpp /inkscape/src/verbs.cpp /inkscape/src/widgets/dash-selector.cpp /inkscape/src/widgets/dash-selector.h /inkscape/src/widgets/desktop-widget.cpp /inkscape/src/widgets/gradient-toolbar.cpp /inkscape/src/widgets/gradient-vector.cpp /inkscape/src/widgets/icon.cpp /inkscape/src/widgets/select-toolbar.cpp /inkscape/src/widgets/sp-color-icc-selector.cpp /inkscape/src/widgets/sp-color-notebook.cpp /inkscape/src/widgets/toolbox.cpp /inkscape/src/widgets/toolbox.h /inkscape/src/xml/node-observer.h /inkscape/src/xml/repr-io.cpp /inkscape/src/zoom-context.cpp /inkscape/utf8-to-roff
9070c55738c935784c2033fbf7b38c1dbd400b64 19-Jul-2008 buliabyak <buliabyak@users.sourceforge.net>

remove usereference vestiges, change the signature of user_unlink (not used yet)

0563fd55cbad59e8a878e6d4cbbdd8e47f74488d 30-May-2008 johanengelen <johanengelen@users.sourceforge.net>

LPE STACKING! (many thanks to the french students who made this.)

54f0b322de8b5934619f28f4971e5c1c95c14ffe 11-Feb-2008 keescook <keescook@users.sourceforge.net>

remaining g++ 4.3 compilation fix-ups

186e627fe87af6a18d8981b79c1a653cf498a425 08-Nov-2007 joncruz <joncruz@users.sourceforge.net>

warning cleanup

/inkscape/src/dialogs/clonetiler.cpp /inkscape/src/dialogs/export.cpp /inkscape/src/dialogs/stroke-style.cpp /inkscape/src/extension/effect.cpp /inkscape/src/extension/execution-env.cpp /inkscape/src/extension/implementation/script.cpp /inkscape/src/gradient-drag.cpp lpeobject-reference.cpp lpeobject.cpp /inkscape/src/main.cpp /inkscape/src/marker.cpp /inkscape/src/sp-guide.cpp /inkscape/src/sp-offset.cpp /inkscape/src/sp-pattern.cpp /inkscape/src/sp-polygon.cpp /inkscape/src/sp-polyline.cpp /inkscape/src/sp-rect.cpp /inkscape/src/sp-shape.cpp /inkscape/src/sp-tref.cpp /inkscape/src/sp-tspan.cpp /inkscape/src/sp-use.cpp /inkscape/src/text-context.cpp /inkscape/src/ui/cache/svg_preview_cache.cpp /inkscape/src/ui/dialog/document-metadata.cpp /inkscape/src/ui/dialog/document-properties.cpp /inkscape/src/ui/dialog/filedialogimpl-gtkmm.cpp /inkscape/src/ui/dialog/fill-and-stroke.cpp /inkscape/src/ui/dialog/filter-effects-dialog.cpp /inkscape/src/ui/dialog/livepatheffect-editor.cpp /inkscape/src/ui/widget/selected-style.cpp /inkscape/src/verbs.cpp
f07bfd5a05d43a6d11f7cd442f085149092dea88 11-Oct-2007 pjrm <pjrm@users.sourceforge.net>

trivial: live_effects/**: svn propset svn:eol-style native *.h *.cpp.

7f991b154fd88d2ad53558828be8c56018dbc0d7 17-Aug-2007 johanengelen <johanengelen@users.sourceforge.net>

Fix LPE: * add default values for parameters * remove text for LPE_INVALID * update example for skel strokes * clean a bit of the code

981b809bc6ed10a21e89444d9447e5475801874f 14-Aug-2007 johanengelen <johanengelen@users.sourceforge.net>

Commit LivePathEffect branch to trunk! (disabled extension/internal/bitmap/*.* in build.xml to fix compilation)

/inkscape/build.xml /inkscape/configure.ac /inkscape/share/examples/live-path-effects-gears.svg /inkscape/share/examples/live-path-effects-skeletal.svg /inkscape/share/examples/live-path-effects-slant.svg /inkscape/share/examples/live-path-effects-uri.svg /inkscape/share/keys/default.xml /inkscape/share/keys/inkscape.xml /inkscape/src/2geom/Makefile_insert /inkscape/src/2geom/basic-intersection.cpp /inkscape/src/2geom/basic-intersection.h /inkscape/src/2geom/bezier-to-sbasis.h /inkscape/src/2geom/bezier-utils.cpp /inkscape/src/2geom/bezier-utils.h /inkscape/src/2geom/bezier.h /inkscape/src/2geom/choose.h /inkscape/src/2geom/circle-circle.cpp /inkscape/src/2geom/circulator.h /inkscape/src/2geom/concepts.h /inkscape/src/2geom/conjugate_gradient.cpp /inkscape/src/2geom/conjugate_gradient.h /inkscape/src/2geom/convex-cover.cpp /inkscape/src/2geom/convex-cover.h /inkscape/src/2geom/coord.h /inkscape/src/2geom/d2.cpp /inkscape/src/2geom/d2.h /inkscape/src/2geom/geom.cpp /inkscape/src/2geom/geom.h /inkscape/src/2geom/interval.h /inkscape/src/2geom/isnan.h /inkscape/src/2geom/linear.h /inkscape/src/2geom/makefile.in /inkscape/src/2geom/matrix.cpp /inkscape/src/2geom/matrix.h /inkscape/src/2geom/path.cpp /inkscape/src/2geom/path.h /inkscape/src/2geom/piecewise.cpp /inkscape/src/2geom/piecewise.h /inkscape/src/2geom/point-l.h /inkscape/src/2geom/point-ops.h /inkscape/src/2geom/point.cpp /inkscape/src/2geom/point.h /inkscape/src/2geom/poly-dk-solve.cpp /inkscape/src/2geom/poly-dk-solve.h /inkscape/src/2geom/poly-laguerre-solve.cpp /inkscape/src/2geom/poly-laguerre-solve.h /inkscape/src/2geom/poly.cpp /inkscape/src/2geom/poly.h /inkscape/src/2geom/quadtree.cpp /inkscape/src/2geom/quadtree.h /inkscape/src/2geom/rect.h /inkscape/src/2geom/sbasis-2d.cpp /inkscape/src/2geom/sbasis-2d.h /inkscape/src/2geom/sbasis-geometric.cpp /inkscape/src/2geom/sbasis-geometric.h /inkscape/src/2geom/sbasis-math.cpp /inkscape/src/2geom/sbasis-math.h /inkscape/src/2geom/sbasis-poly.cpp /inkscape/src/2geom/sbasis-poly.h /inkscape/src/2geom/sbasis-roots.cpp /inkscape/src/2geom/sbasis-to-bezier.cpp /inkscape/src/2geom/sbasis-to-bezier.h /inkscape/src/2geom/sbasis.cpp /inkscape/src/2geom/sbasis.h /inkscape/src/2geom/solve-bezier-one-d.cpp /inkscape/src/2geom/solve-bezier-parametric.cpp /inkscape/src/2geom/solver.h /inkscape/src/2geom/sturm.h /inkscape/src/2geom/svg-path-parser.cpp /inkscape/src/2geom/svg-path-parser.h /inkscape/src/2geom/svg-path.cpp /inkscape/src/2geom/svg-path.h /inkscape/src/2geom/transforms.cpp /inkscape/src/2geom/transforms.h /inkscape/src/2geom/utils.h /inkscape/src/Makefile.am /inkscape/src/Makefile_insert /inkscape/src/attributes.cpp /inkscape/src/attributes.h Makefile_insert effect.cpp effect.h lpe-gears.cpp lpe-gears.h lpe-skeletalstrokes.cpp lpe-skeletalstrokes.h lpe-slant.cpp lpe-slant.h lpe-test-doEffect-stack.cpp lpe-test-doEffect-stack.h lpeobject-reference.cpp lpeobject-reference.h lpeobject.cpp lpeobject.h makefile.in n-art-bpath-2geom.cpp n-art-bpath-2geom.h parameter/Makefile_insert parameter/enum.h parameter/makefile.in parameter/parameter.cpp parameter/parameter.h parameter/path.cpp parameter/path.h parameter/point.cpp parameter/point.h todo.txt /inkscape/src/menus-skeleton.h /inkscape/src/node-context.cpp /inkscape/src/nodepath.cpp /inkscape/src/nodepath.h /inkscape/src/selection-chemistry.cpp /inkscape/src/selection-chemistry.h /inkscape/src/shape-editor.cpp /inkscape/src/shape-editor.h /inkscape/src/sp-ellipse.cpp /inkscape/src/sp-object-repr.cpp /inkscape/src/sp-object.cpp /inkscape/src/sp-path.cpp /inkscape/src/sp-path.h /inkscape/src/sp-shape.cpp /inkscape/src/sp-shape.h /inkscape/src/sp-spiral.cpp /inkscape/src/sp-star.cpp /inkscape/src/ui/dialog/Makefile_insert /inkscape/src/ui/dialog/dialog-manager.cpp /inkscape/src/ui/dialog/livepatheffect-editor.cpp /inkscape/src/ui/dialog/livepatheffect-editor.h /inkscape/src/ui/widget/Makefile_insert /inkscape/src/ui/widget/combo-enums.h /inkscape/src/ui/widget/point.cpp /inkscape/src/ui/widget/point.h /inkscape/src/ui/widget/registered-enums.h /inkscape/src/ui/widget/registered-widget.cpp /inkscape/src/ui/widget/registered-widget.h /inkscape/src/verbs.cpp /inkscape/src/verbs.h