[webkit-changes] cvs commit: SVGSupport/ksvg2/svg SVGAElementImpl.cpp SVGAElementImpl.h SVGAnimateColorElementImpl.cpp SVGAnimateColorElementImpl.h SVGAnimateTransformElementImpl.cpp SVGAnimateTransformElementImpl.h SVGAnimatedTemplate.h SVGAnimationElementImpl.cpp SVGAnimationElementImpl.h SVGCircleElementImpl.cpp SVGCircleElementImpl.h SVGClipPathElementImpl.cpp SVGClipPathElementImpl.h SVGColorImpl.cpp SVGColorImpl.h SVGComponentTransferFunctionElementImpl.cpp SVGComponentTransferFunctionElementImpl.h SVGCursorElementImpl.cpp SVGCursorElementImpl.h SVGDocumentImpl.cpp SVGDocumentImpl.h SVGElementImpl.cpp SVGElementImpl.h SVGEllipseElementImpl.cpp SVGEllipseElementImpl.h SVGExternalResourcesRequiredImpl.cpp SVGExternalResourcesRequiredImpl.h SVGFEBlendElementImpl.cpp SVGFEBlendElementImpl.h SVGFEColorMatrixElementImpl.cpp SVGFEColorMatrixElementImpl.h SVGFEComponentTransferElementImpl.cpp SVGFEComponentTransferElementImpl.h SVGFECompositeElementImpl.cpp SVGFECompositeElementImpl.h SVGFEFloodElementImpl.cpp SVGFEFloodElementImpl.h SVGFEGaussianBlurElementImpl.cpp SVGFEGaussianBlurElementImpl.h SVGFEImageElementImpl.cpp SVGFEImageElementImpl.h SVGFEMergeNodeElementImpl.cpp SVGFEMergeNodeElementImpl.h SVGFEOffsetElementImpl.cpp SVGFEOffsetElementImpl.h SVGFETileElementImpl.cpp SVGFETileElementImpl.h SVGFETurbulenceElementImpl.cpp SVGFETurbulenceElementImpl.h SVGFilterElementImpl.cpp SVGFilterElementImpl.h SVGFilterPrimitiveStandardAttributesImpl.cpp SVGFilterPrimitiveStandardAttributesImpl.h SVGGradientElementImpl.cpp SVGGradientElementImpl.h SVGHelper.h SVGImageElementImpl.cpp SVGImageElementImpl.h SVGLineElementImpl.cpp SVGLineElementImpl.h SVGLinearGradientElementImpl.cpp SVGLinearGradientElementImpl.h SVGMarkerElementImpl.cpp SVGMarkerElementImpl.h SVGPaintImpl.cpp SVGPaintImpl.h SVGPathElementImpl.cpp SVGPathElementImpl.h SVGPatternElementImpl.cpp SVGPatternElementImpl.h SVGPolyElementImpl.cpp SVGPolyElementImpl.h SVGRadialGradientElementImpl.cpp SV GRadialGradientElementImpl.h SVGRectElementImpl.cpp SVGRectElementImpl.h SVGSVGElementImpl.cpp SVGSVGElementImpl.h SVGScriptElementImpl.cpp SVGScriptElementImpl.h SVGStopElementImpl.cpp SVGStopElementImpl.h SVGStringListImpl.cpp SVGStyledElementImpl.cpp SVGStyledElementImpl.h SVGStyledTransformableElementImpl.cpp SVGStyledTransformableElementImpl.h SVGTestsImpl.cpp SVGTestsImpl.h SVGTextContentElementImpl.cpp SVGTextContentElementImpl.h SVGTextPositioningElementImpl.cpp SVGTextPositioningElementImpl.h SVGTransformImpl.cpp SVGTransformImpl.h SVGURIReferenceImpl.cpp SVGURIReferenceImpl.h SVGUseElementImpl.cpp SVGUseElementImpl.h SVGViewElementImpl.cpp SVGViewElementImpl.h

Eric eseidel at opensource.apple.com
Sat Nov 26 14:19:41 PST 2005


eseidel     05/11/26 14:19:40

  Modified:    .        ChangeLog
               WebCore+SVG KDOMStubClasses.h
               ksvg2/events SVGZoomEventImpl.cpp SVGZoomEventImpl.h
               ksvg2/misc KSVGTimeScheduler.cpp
               ksvg2/svg SVGAElementImpl.cpp SVGAElementImpl.h
                        SVGAnimateColorElementImpl.cpp
                        SVGAnimateColorElementImpl.h
                        SVGAnimateTransformElementImpl.cpp
                        SVGAnimateTransformElementImpl.h
                        SVGAnimatedTemplate.h SVGAnimationElementImpl.cpp
                        SVGAnimationElementImpl.h SVGCircleElementImpl.cpp
                        SVGCircleElementImpl.h SVGClipPathElementImpl.cpp
                        SVGClipPathElementImpl.h SVGColorImpl.cpp
                        SVGColorImpl.h
                        SVGComponentTransferFunctionElementImpl.cpp
                        SVGComponentTransferFunctionElementImpl.h
                        SVGCursorElementImpl.cpp SVGCursorElementImpl.h
                        SVGDocumentImpl.cpp SVGDocumentImpl.h
                        SVGElementImpl.cpp SVGElementImpl.h
                        SVGEllipseElementImpl.cpp SVGEllipseElementImpl.h
                        SVGExternalResourcesRequiredImpl.cpp
                        SVGExternalResourcesRequiredImpl.h
                        SVGFEBlendElementImpl.cpp SVGFEBlendElementImpl.h
                        SVGFEColorMatrixElementImpl.cpp
                        SVGFEColorMatrixElementImpl.h
                        SVGFEComponentTransferElementImpl.cpp
                        SVGFEComponentTransferElementImpl.h
                        SVGFECompositeElementImpl.cpp
                        SVGFECompositeElementImpl.h
                        SVGFEFloodElementImpl.cpp SVGFEFloodElementImpl.h
                        SVGFEGaussianBlurElementImpl.cpp
                        SVGFEGaussianBlurElementImpl.h
                        SVGFEImageElementImpl.cpp SVGFEImageElementImpl.h
                        SVGFEMergeNodeElementImpl.cpp
                        SVGFEMergeNodeElementImpl.h
                        SVGFEOffsetElementImpl.cpp SVGFEOffsetElementImpl.h
                        SVGFETileElementImpl.cpp SVGFETileElementImpl.h
                        SVGFETurbulenceElementImpl.cpp
                        SVGFETurbulenceElementImpl.h
                        SVGFilterElementImpl.cpp SVGFilterElementImpl.h
                        SVGFilterPrimitiveStandardAttributesImpl.cpp
                        SVGFilterPrimitiveStandardAttributesImpl.h
                        SVGGradientElementImpl.cpp SVGGradientElementImpl.h
                        SVGHelper.h SVGImageElementImpl.cpp
                        SVGImageElementImpl.h SVGLineElementImpl.cpp
                        SVGLineElementImpl.h
                        SVGLinearGradientElementImpl.cpp
                        SVGLinearGradientElementImpl.h
                        SVGMarkerElementImpl.cpp SVGMarkerElementImpl.h
                        SVGPaintImpl.cpp SVGPaintImpl.h
                        SVGPathElementImpl.cpp SVGPathElementImpl.h
                        SVGPatternElementImpl.cpp SVGPatternElementImpl.h
                        SVGPolyElementImpl.cpp SVGPolyElementImpl.h
                        SVGRadialGradientElementImpl.cpp
                        SVGRadialGradientElementImpl.h
                        SVGRectElementImpl.cpp SVGRectElementImpl.h
                        SVGSVGElementImpl.cpp SVGSVGElementImpl.h
                        SVGScriptElementImpl.cpp SVGScriptElementImpl.h
                        SVGStopElementImpl.cpp SVGStopElementImpl.h
                        SVGStringListImpl.cpp SVGStyledElementImpl.cpp
                        SVGStyledElementImpl.h
                        SVGStyledTransformableElementImpl.cpp
                        SVGStyledTransformableElementImpl.h
                        SVGTestsImpl.cpp SVGTestsImpl.h
                        SVGTextContentElementImpl.cpp
                        SVGTextContentElementImpl.h
                        SVGTextPositioningElementImpl.cpp
                        SVGTextPositioningElementImpl.h
                        SVGTransformImpl.cpp SVGTransformImpl.h
                        SVGURIReferenceImpl.cpp SVGURIReferenceImpl.h
                        SVGUseElementImpl.cpp SVGUseElementImpl.h
                        SVGViewElementImpl.cpp SVGViewElementImpl.h
  Log:
  Bug #: 5825
  Submitted by: eseidel
  Reviewed by: darin
          Removed all usage of ref(), deref() from ksvg2
          Instead everything uses SharedPtr now.
          Also updated lazy_create to be SharedPtr aware.
          And removed KDOM_SAFE_SET.
  
          No additional test cases needed.
  
          * WebCore+SVG/KDOMStubClasses.h:
          * ksvg2/events/SVGZoomEventImpl.cpp:
          (SVGZoomEventImpl::SVGZoomEventImpl):
          (SVGZoomEventImpl::~SVGZoomEventImpl):
          (SVGZoomEventImpl::zoomRectScreen):
          (SVGZoomEventImpl::previousTranslate):
          (SVGZoomEventImpl::newTranslate):
          * ksvg2/events/SVGZoomEventImpl.h:
          * ksvg2/misc/KSVGTimeScheduler.cpp:
          (KSVG::SVGTimer::notifyAll):
          * ksvg2/svg/SVGAElementImpl.cpp:
          (SVGAElementImpl::SVGAElementImpl):
          (SVGAElementImpl::~SVGAElementImpl):
          * ksvg2/svg/SVGAElementImpl.h:
          * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
          (SVGAnimateColorElementImpl::SVGAnimateColorElementImpl):
          (SVGAnimateColorElementImpl::~SVGAnimateColorElementImpl):
          (SVGAnimateColorElementImpl::handleTimerEvent):
          * ksvg2/svg/SVGAnimateColorElementImpl.h:
          * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
          (SVGAnimateTransformElementImpl::parseTransformValue):
          * ksvg2/svg/SVGAnimateTransformElementImpl.h:
          * ksvg2/svg/SVGAnimatedTemplate.h:
          (KSVG::SVGAnimatedTemplate::~SVGAnimatedTemplate):
          (KSVG::SVGAnimatedTemplate::baseVal):
          (KSVG::SVGAnimatedTemplate::setBaseVal):
          (KSVG::SVGAnimatedTemplate::animVal):
          (KSVG::SVGAnimatedTemplate::setAnimVal):
          (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
          * ksvg2/svg/SVGAnimationElementImpl.cpp:
          (SVGAnimationElementImpl::SVGAnimationElementImpl):
          (SVGAnimationElementImpl::~SVGAnimationElementImpl):
          (SVGAnimationElementImpl::parseMappedAttribute):
          * ksvg2/svg/SVGAnimationElementImpl.h:
          * ksvg2/svg/SVGCircleElementImpl.cpp:
          (SVGCircleElementImpl::SVGCircleElementImpl):
          (SVGCircleElementImpl::~SVGCircleElementImpl):
          * ksvg2/svg/SVGCircleElementImpl.h:
          * ksvg2/svg/SVGClipPathElementImpl.cpp:
          (SVGClipPathElementImpl::SVGClipPathElementImpl):
          (SVGClipPathElementImpl::~SVGClipPathElementImpl):
          (SVGClipPathElementImpl::clipPathUnits):
          * ksvg2/svg/SVGClipPathElementImpl.h:
          * ksvg2/svg/SVGColorImpl.cpp:
          (SVGColorImpl::SVGColorImpl):
          (SVGColorImpl::~SVGColorImpl):
          (SVGColorImpl::setRGBColor):
          * ksvg2/svg/SVGColorImpl.h:
          * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
          (SVGComponentTransferFunctionElementImpl::SVGComponentTransferFunctionElementImpl):
          (SVGComponentTransferFunctionElementImpl::~SVGComponentTransferFunctionElementImpl):
          * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
          * ksvg2/svg/SVGCursorElementImpl.cpp:
          (SVGCursorElementImpl::SVGCursorElementImpl):
          (SVGCursorElementImpl::~SVGCursorElementImpl):
          * ksvg2/svg/SVGCursorElementImpl.h:
          * ksvg2/svg/SVGDocumentImpl.cpp:
          (SVGDocumentImpl::SVGDocumentImpl):
          * ksvg2/svg/SVGDocumentImpl.h:
          * ksvg2/svg/SVGElementImpl.cpp:
          (SVGElementImpl::parseMappedAttribute):
          * ksvg2/svg/SVGElementImpl.h:
          * ksvg2/svg/SVGEllipseElementImpl.cpp:
          (KSVG::SVGEllipseElementImpl::SVGEllipseElementImpl):
          (KSVG::SVGEllipseElementImpl::~SVGEllipseElementImpl):
          * ksvg2/svg/SVGEllipseElementImpl.h:
          * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
          (SVGExternalResourcesRequiredImpl::SVGExternalResourcesRequiredImpl):
          (SVGExternalResourcesRequiredImpl::~SVGExternalResourcesRequiredImpl):
          * ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
          * ksvg2/svg/SVGFEBlendElementImpl.cpp:
          (SVGFEBlendElementImpl::SVGFEBlendElementImpl):
          (SVGFEBlendElementImpl::~SVGFEBlendElementImpl):
          * ksvg2/svg/SVGFEBlendElementImpl.h:
          * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
          (SVGFEColorMatrixElementImpl::SVGFEColorMatrixElementImpl):
          (SVGFEColorMatrixElementImpl::~SVGFEColorMatrixElementImpl):
          * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
          * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
          (SVGFEComponentTransferElementImpl::SVGFEComponentTransferElementImpl):
          (SVGFEComponentTransferElementImpl::~SVGFEComponentTransferElementImpl):
          * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
          * ksvg2/svg/SVGFECompositeElementImpl.cpp:
          (SVGFECompositeElementImpl::SVGFECompositeElementImpl):
          (SVGFECompositeElementImpl::~SVGFECompositeElementImpl):
          * ksvg2/svg/SVGFECompositeElementImpl.h:
          * ksvg2/svg/SVGFEFloodElementImpl.cpp:
          (SVGFEFloodElementImpl::SVGFEFloodElementImpl):
          (SVGFEFloodElementImpl::~SVGFEFloodElementImpl):
          * ksvg2/svg/SVGFEFloodElementImpl.h:
          * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
          (SVGFEGaussianBlurElementImpl::SVGFEGaussianBlurElementImpl):
          (SVGFEGaussianBlurElementImpl::~SVGFEGaussianBlurElementImpl):
          * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
          * ksvg2/svg/SVGFEImageElementImpl.cpp:
          (SVGFEImageElementImpl::SVGFEImageElementImpl):
          (SVGFEImageElementImpl::~SVGFEImageElementImpl):
          * ksvg2/svg/SVGFEImageElementImpl.h:
          * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
          (SVGFEMergeNodeElementImpl::SVGFEMergeNodeElementImpl):
          (SVGFEMergeNodeElementImpl::~SVGFEMergeNodeElementImpl):
          * ksvg2/svg/SVGFEMergeNodeElementImpl.h:
          * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
          (SVGFEOffsetElementImpl::SVGFEOffsetElementImpl):
          (SVGFEOffsetElementImpl::~SVGFEOffsetElementImpl):
          * ksvg2/svg/SVGFEOffsetElementImpl.h:
          * ksvg2/svg/SVGFETileElementImpl.cpp:
          (SVGFETileElementImpl::SVGFETileElementImpl):
          (SVGFETileElementImpl::~SVGFETileElementImpl):
          * ksvg2/svg/SVGFETileElementImpl.h:
          * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
          (SVGFETurbulenceElementImpl::SVGFETurbulenceElementImpl):
          (SVGFETurbulenceElementImpl::~SVGFETurbulenceElementImpl):
          * ksvg2/svg/SVGFETurbulenceElementImpl.h:
          * ksvg2/svg/SVGFilterElementImpl.cpp:
          (SVGFilterElementImpl::SVGFilterElementImpl):
          (SVGFilterElementImpl::~SVGFilterElementImpl):
          (SVGFilterElementImpl::filterUnits):
          (SVGFilterElementImpl::primitiveUnits):
          (SVGFilterElementImpl::x):
          (SVGFilterElementImpl::y):
          (SVGFilterElementImpl::width):
          (SVGFilterElementImpl::height):
          * ksvg2/svg/SVGFilterElementImpl.h:
          * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
          (SVGFilterPrimitiveStandardAttributesImpl::SVGFilterPrimitiveStandardAttributesImpl):
          (SVGFilterPrimitiveStandardAttributesImpl::~SVGFilterPrimitiveStandardAttributesImpl):
          (SVGFilterPrimitiveStandardAttributesImpl::width):
          (SVGFilterPrimitiveStandardAttributesImpl::height):
          * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
          * ksvg2/svg/SVGGradientElementImpl.cpp:
          (SVGGradientElementImpl::SVGGradientElementImpl):
          (SVGGradientElementImpl::~SVGGradientElementImpl):
          (SVGGradientElementImpl::gradientUnits):
          * ksvg2/svg/SVGGradientElementImpl.h:
          * ksvg2/svg/SVGHelper.h:
          (KSVG::lazy_create):
          * ksvg2/svg/SVGImageElementImpl.cpp:
          (SVGImageElementImpl::SVGImageElementImpl):
          (SVGImageElementImpl::~SVGImageElementImpl):
          * ksvg2/svg/SVGImageElementImpl.h:
          * ksvg2/svg/SVGLineElementImpl.cpp:
          (SVGLineElementImpl::SVGLineElementImpl):
          (SVGLineElementImpl::~SVGLineElementImpl):
          * ksvg2/svg/SVGLineElementImpl.h:
          * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
          (SVGLinearGradientElementImpl::SVGLinearGradientElementImpl):
          (SVGLinearGradientElementImpl::~SVGLinearGradientElementImpl):
          (SVGLinearGradientElementImpl::x2):
          * ksvg2/svg/SVGLinearGradientElementImpl.h:
          * ksvg2/svg/SVGMarkerElementImpl.cpp:
          (SVGMarkerElementImpl::SVGMarkerElementImpl):
          (SVGMarkerElementImpl::~SVGMarkerElementImpl):
          (SVGMarkerElementImpl::markerUnits):
          * ksvg2/svg/SVGMarkerElementImpl.h:
          * ksvg2/svg/SVGPaintImpl.cpp:
          (SVGPaintImpl::SVGPaintImpl):
          (SVGPaintImpl::~SVGPaintImpl):
          (SVGPaintImpl::uri):
          (SVGPaintImpl::setUri):
          (SVGPaintImpl::cssText):
          * ksvg2/svg/SVGPaintImpl.h:
          * ksvg2/svg/SVGPathElementImpl.cpp:
          (KSVG::SVGPathElementImpl::SVGPathElementImpl):
          (KSVG::SVGPathElementImpl::~SVGPathElementImpl):
          (KSVG::SVGPathElementImpl::pathLength):
          * ksvg2/svg/SVGPathElementImpl.h:
          * ksvg2/svg/SVGPatternElementImpl.cpp:
          (SVGPatternElementImpl::SVGPatternElementImpl):
          (SVGPatternElementImpl::~SVGPatternElementImpl):
          (SVGPatternElementImpl::patternUnits):
          (SVGPatternElementImpl::patternContentUnits):
          (SVGPatternElementImpl::getCTM):
          * ksvg2/svg/SVGPatternElementImpl.h:
          * ksvg2/svg/SVGPolyElementImpl.cpp:
          (SVGPolyElementImpl::SVGPolyElementImpl):
          (SVGPolyElementImpl::~SVGPolyElementImpl):
          * ksvg2/svg/SVGPolyElementImpl.h:
          * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
          (SVGRadialGradientElementImpl::SVGRadialGradientElementImpl):
          (SVGRadialGradientElementImpl::~SVGRadialGradientElementImpl):
          (SVGRadialGradientElementImpl::cx):
          (SVGRadialGradientElementImpl::cy):
          (SVGRadialGradientElementImpl::r):
          * ksvg2/svg/SVGRadialGradientElementImpl.h:
          * ksvg2/svg/SVGRectElementImpl.cpp:
          (SVGRectElementImpl::SVGRectElementImpl):
          (SVGRectElementImpl::~SVGRectElementImpl):
          * ksvg2/svg/SVGRectElementImpl.h:
          * ksvg2/svg/SVGSVGElementImpl.cpp:
          (SVGSVGElementImpl::SVGSVGElementImpl):
          (SVGSVGElementImpl::~SVGSVGElementImpl):
          (SVGSVGElementImpl::width):
          (SVGSVGElementImpl::height):
          (SVGSVGElementImpl::viewport):
          * ksvg2/svg/SVGSVGElementImpl.h:
          * ksvg2/svg/SVGScriptElementImpl.cpp:
          (SVGScriptElementImpl::SVGScriptElementImpl):
          (SVGScriptElementImpl::~SVGScriptElementImpl):
          (SVGScriptElementImpl::type):
          (SVGScriptElementImpl::setType):
          (SVGScriptElementImpl::executeScript):
          * ksvg2/svg/SVGScriptElementImpl.h:
          * ksvg2/svg/SVGStopElementImpl.cpp:
          (SVGStopElementImpl::SVGStopElementImpl):
          (SVGStopElementImpl::~SVGStopElementImpl):
          * ksvg2/svg/SVGStopElementImpl.h:
          * ksvg2/svg/SVGStringListImpl.cpp:
          (SVGStringListImpl::reset):
          * ksvg2/svg/SVGStyledElementImpl.cpp:
          (SVGStyledElementImpl::SVGStyledElementImpl):
          (SVGStyledElementImpl::~SVGStyledElementImpl):
          (SVGStyledElementImpl::className):
          * ksvg2/svg/SVGStyledElementImpl.h:
          * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
          (SVGStyledTransformableElementImpl::SVGStyledTransformableElementImpl):
          (SVGStyledTransformableElementImpl::~SVGStyledTransformableElementImpl):
          (SVGStyledTransformableElementImpl::getCTM):
          (SVGStyledTransformableElementImpl::getScreenCTM):
          (SVGStyledTransformableElementImpl::updateLocalTransform):
          * ksvg2/svg/SVGStyledTransformableElementImpl.h:
          * ksvg2/svg/SVGTestsImpl.cpp:
          (SVGTestsImpl::SVGTestsImpl):
          (SVGTestsImpl::~SVGTestsImpl):
          * ksvg2/svg/SVGTestsImpl.h:
          * ksvg2/svg/SVGTextContentElementImpl.cpp:
          (SVGTextContentElementImpl::SVGTextContentElementImpl):
          (SVGTextContentElementImpl::~SVGTextContentElementImpl):
          * ksvg2/svg/SVGTextContentElementImpl.h:
          * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
          (SVGTextPositioningElementImpl::SVGTextPositioningElementImpl):
          (SVGTextPositioningElementImpl::~SVGTextPositioningElementImpl):
          * ksvg2/svg/SVGTextPositioningElementImpl.h:
          * ksvg2/svg/SVGTransformImpl.cpp:
          (SVGTransformImpl::SVGTransformImpl):
          (SVGTransformImpl::~SVGTransformImpl):
          (SVGTransformImpl::matrix):
          (SVGTransformImpl::setMatrix):
          * ksvg2/svg/SVGTransformImpl.h:
          * ksvg2/svg/SVGURIReferenceImpl.cpp:
          (SVGURIReferenceImpl::SVGURIReferenceImpl):
          (SVGURIReferenceImpl::~SVGURIReferenceImpl):
          * ksvg2/svg/SVGURIReferenceImpl.h:
          * ksvg2/svg/SVGUseElementImpl.cpp:
          (SVGUseElementImpl::SVGUseElementImpl):
          (SVGUseElementImpl::~SVGUseElementImpl):
          * ksvg2/svg/SVGUseElementImpl.h:
          * ksvg2/svg/SVGViewElementImpl.cpp:
          (SVGViewElementImpl::SVGViewElementImpl):
          (SVGViewElementImpl::~SVGViewElementImpl):
          * ksvg2/svg/SVGViewElementImpl.h:
  
  Revision  Changes    Path
  1.399     +263 -0    WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.398
  retrieving revision 1.399
  diff -u -r1.398 -r1.399
  --- ChangeLog	23 Nov 2005 15:14:04 -0000	1.398
  +++ ChangeLog	26 Nov 2005 22:18:58 -0000	1.399
  @@ -1,3 +1,266 @@
  +2005-11-26  Eric Seidel  <eseidel at apple.com>
  +
  +        Reviewed by darin.
  +
  +        Removed all usage of ref(), deref() from ksvg2
  +        Instead everything uses SharedPtr now.
  +        Also updated lazy_create to be SharedPtr aware.
  +        And removed KDOM_SAFE_SET.
  +
  +        No additional test cases needed.
  +
  +        * WebCore+SVG/KDOMStubClasses.h:
  +        * ksvg2/events/SVGZoomEventImpl.cpp:
  +        (SVGZoomEventImpl::SVGZoomEventImpl):
  +        (SVGZoomEventImpl::~SVGZoomEventImpl):
  +        (SVGZoomEventImpl::zoomRectScreen):
  +        (SVGZoomEventImpl::previousTranslate):
  +        (SVGZoomEventImpl::newTranslate):
  +        * ksvg2/events/SVGZoomEventImpl.h:
  +        * ksvg2/misc/KSVGTimeScheduler.cpp:
  +        (KSVG::SVGTimer::notifyAll):
  +        * ksvg2/svg/SVGAElementImpl.cpp:
  +        (SVGAElementImpl::SVGAElementImpl):
  +        (SVGAElementImpl::~SVGAElementImpl):
  +        * ksvg2/svg/SVGAElementImpl.h:
  +        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
  +        (SVGAnimateColorElementImpl::SVGAnimateColorElementImpl):
  +        (SVGAnimateColorElementImpl::~SVGAnimateColorElementImpl):
  +        (SVGAnimateColorElementImpl::handleTimerEvent):
  +        * ksvg2/svg/SVGAnimateColorElementImpl.h:
  +        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
  +        (SVGAnimateTransformElementImpl::parseTransformValue):
  +        * ksvg2/svg/SVGAnimateTransformElementImpl.h:
  +        * ksvg2/svg/SVGAnimatedTemplate.h:
  +        (KSVG::SVGAnimatedTemplate::~SVGAnimatedTemplate):
  +        (KSVG::SVGAnimatedTemplate::baseVal):
  +        (KSVG::SVGAnimatedTemplate::setBaseVal):
  +        (KSVG::SVGAnimatedTemplate::animVal):
  +        (KSVG::SVGAnimatedTemplate::setAnimVal):
  +        (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
  +        * ksvg2/svg/SVGAnimationElementImpl.cpp:
  +        (SVGAnimationElementImpl::SVGAnimationElementImpl):
  +        (SVGAnimationElementImpl::~SVGAnimationElementImpl):
  +        (SVGAnimationElementImpl::parseMappedAttribute):
  +        * ksvg2/svg/SVGAnimationElementImpl.h:
  +        * ksvg2/svg/SVGCircleElementImpl.cpp:
  +        (SVGCircleElementImpl::SVGCircleElementImpl):
  +        (SVGCircleElementImpl::~SVGCircleElementImpl):
  +        * ksvg2/svg/SVGCircleElementImpl.h:
  +        * ksvg2/svg/SVGClipPathElementImpl.cpp:
  +        (SVGClipPathElementImpl::SVGClipPathElementImpl):
  +        (SVGClipPathElementImpl::~SVGClipPathElementImpl):
  +        (SVGClipPathElementImpl::clipPathUnits):
  +        * ksvg2/svg/SVGClipPathElementImpl.h:
  +        * ksvg2/svg/SVGColorImpl.cpp:
  +        (SVGColorImpl::SVGColorImpl):
  +        (SVGColorImpl::~SVGColorImpl):
  +        (SVGColorImpl::setRGBColor):
  +        * ksvg2/svg/SVGColorImpl.h:
  +        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
  +        (SVGComponentTransferFunctionElementImpl::SVGComponentTransferFunctionElementImpl):
  +        (SVGComponentTransferFunctionElementImpl::~SVGComponentTransferFunctionElementImpl):
  +        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
  +        * ksvg2/svg/SVGCursorElementImpl.cpp:
  +        (SVGCursorElementImpl::SVGCursorElementImpl):
  +        (SVGCursorElementImpl::~SVGCursorElementImpl):
  +        * ksvg2/svg/SVGCursorElementImpl.h:
  +        * ksvg2/svg/SVGDocumentImpl.cpp:
  +        (SVGDocumentImpl::SVGDocumentImpl):
  +        * ksvg2/svg/SVGDocumentImpl.h:
  +        * ksvg2/svg/SVGElementImpl.cpp:
  +        (SVGElementImpl::parseMappedAttribute):
  +        * ksvg2/svg/SVGElementImpl.h:
  +        * ksvg2/svg/SVGEllipseElementImpl.cpp:
  +        (KSVG::SVGEllipseElementImpl::SVGEllipseElementImpl):
  +        (KSVG::SVGEllipseElementImpl::~SVGEllipseElementImpl):
  +        * ksvg2/svg/SVGEllipseElementImpl.h:
  +        * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
  +        (SVGExternalResourcesRequiredImpl::SVGExternalResourcesRequiredImpl):
  +        (SVGExternalResourcesRequiredImpl::~SVGExternalResourcesRequiredImpl):
  +        * ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
  +        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
  +        (SVGFEBlendElementImpl::SVGFEBlendElementImpl):
  +        (SVGFEBlendElementImpl::~SVGFEBlendElementImpl):
  +        * ksvg2/svg/SVGFEBlendElementImpl.h:
  +        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
  +        (SVGFEColorMatrixElementImpl::SVGFEColorMatrixElementImpl):
  +        (SVGFEColorMatrixElementImpl::~SVGFEColorMatrixElementImpl):
  +        * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
  +        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
  +        (SVGFEComponentTransferElementImpl::SVGFEComponentTransferElementImpl):
  +        (SVGFEComponentTransferElementImpl::~SVGFEComponentTransferElementImpl):
  +        * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
  +        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
  +        (SVGFECompositeElementImpl::SVGFECompositeElementImpl):
  +        (SVGFECompositeElementImpl::~SVGFECompositeElementImpl):
  +        * ksvg2/svg/SVGFECompositeElementImpl.h:
  +        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
  +        (SVGFEFloodElementImpl::SVGFEFloodElementImpl):
  +        (SVGFEFloodElementImpl::~SVGFEFloodElementImpl):
  +        * ksvg2/svg/SVGFEFloodElementImpl.h:
  +        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
  +        (SVGFEGaussianBlurElementImpl::SVGFEGaussianBlurElementImpl):
  +        (SVGFEGaussianBlurElementImpl::~SVGFEGaussianBlurElementImpl):
  +        * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
  +        * ksvg2/svg/SVGFEImageElementImpl.cpp:
  +        (SVGFEImageElementImpl::SVGFEImageElementImpl):
  +        (SVGFEImageElementImpl::~SVGFEImageElementImpl):
  +        * ksvg2/svg/SVGFEImageElementImpl.h:
  +        * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
  +        (SVGFEMergeNodeElementImpl::SVGFEMergeNodeElementImpl):
  +        (SVGFEMergeNodeElementImpl::~SVGFEMergeNodeElementImpl):
  +        * ksvg2/svg/SVGFEMergeNodeElementImpl.h:
  +        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
  +        (SVGFEOffsetElementImpl::SVGFEOffsetElementImpl):
  +        (SVGFEOffsetElementImpl::~SVGFEOffsetElementImpl):
  +        * ksvg2/svg/SVGFEOffsetElementImpl.h:
  +        * ksvg2/svg/SVGFETileElementImpl.cpp:
  +        (SVGFETileElementImpl::SVGFETileElementImpl):
  +        (SVGFETileElementImpl::~SVGFETileElementImpl):
  +        * ksvg2/svg/SVGFETileElementImpl.h:
  +        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
  +        (SVGFETurbulenceElementImpl::SVGFETurbulenceElementImpl):
  +        (SVGFETurbulenceElementImpl::~SVGFETurbulenceElementImpl):
  +        * ksvg2/svg/SVGFETurbulenceElementImpl.h:
  +        * ksvg2/svg/SVGFilterElementImpl.cpp:
  +        (SVGFilterElementImpl::SVGFilterElementImpl):
  +        (SVGFilterElementImpl::~SVGFilterElementImpl):
  +        (SVGFilterElementImpl::filterUnits):
  +        (SVGFilterElementImpl::primitiveUnits):
  +        (SVGFilterElementImpl::x):
  +        (SVGFilterElementImpl::y):
  +        (SVGFilterElementImpl::width):
  +        (SVGFilterElementImpl::height):
  +        * ksvg2/svg/SVGFilterElementImpl.h:
  +        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
  +        (SVGFilterPrimitiveStandardAttributesImpl::SVGFilterPrimitiveStandardAttributesImpl):
  +        (SVGFilterPrimitiveStandardAttributesImpl::~SVGFilterPrimitiveStandardAttributesImpl):
  +        (SVGFilterPrimitiveStandardAttributesImpl::width):
  +        (SVGFilterPrimitiveStandardAttributesImpl::height):
  +        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
  +        * ksvg2/svg/SVGGradientElementImpl.cpp:
  +        (SVGGradientElementImpl::SVGGradientElementImpl):
  +        (SVGGradientElementImpl::~SVGGradientElementImpl):
  +        (SVGGradientElementImpl::gradientUnits):
  +        * ksvg2/svg/SVGGradientElementImpl.h:
  +        * ksvg2/svg/SVGHelper.h:
  +        (KSVG::lazy_create):
  +        * ksvg2/svg/SVGImageElementImpl.cpp:
  +        (SVGImageElementImpl::SVGImageElementImpl):
  +        (SVGImageElementImpl::~SVGImageElementImpl):
  +        * ksvg2/svg/SVGImageElementImpl.h:
  +        * ksvg2/svg/SVGLineElementImpl.cpp:
  +        (SVGLineElementImpl::SVGLineElementImpl):
  +        (SVGLineElementImpl::~SVGLineElementImpl):
  +        * ksvg2/svg/SVGLineElementImpl.h:
  +        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
  +        (SVGLinearGradientElementImpl::SVGLinearGradientElementImpl):
  +        (SVGLinearGradientElementImpl::~SVGLinearGradientElementImpl):
  +        (SVGLinearGradientElementImpl::x2):
  +        * ksvg2/svg/SVGLinearGradientElementImpl.h:
  +        * ksvg2/svg/SVGMarkerElementImpl.cpp:
  +        (SVGMarkerElementImpl::SVGMarkerElementImpl):
  +        (SVGMarkerElementImpl::~SVGMarkerElementImpl):
  +        (SVGMarkerElementImpl::markerUnits):
  +        * ksvg2/svg/SVGMarkerElementImpl.h:
  +        * ksvg2/svg/SVGPaintImpl.cpp:
  +        (SVGPaintImpl::SVGPaintImpl):
  +        (SVGPaintImpl::~SVGPaintImpl):
  +        (SVGPaintImpl::uri):
  +        (SVGPaintImpl::setUri):
  +        (SVGPaintImpl::cssText):
  +        * ksvg2/svg/SVGPaintImpl.h:
  +        * ksvg2/svg/SVGPathElementImpl.cpp:
  +        (KSVG::SVGPathElementImpl::SVGPathElementImpl):
  +        (KSVG::SVGPathElementImpl::~SVGPathElementImpl):
  +        (KSVG::SVGPathElementImpl::pathLength):
  +        * ksvg2/svg/SVGPathElementImpl.h:
  +        * ksvg2/svg/SVGPatternElementImpl.cpp:
  +        (SVGPatternElementImpl::SVGPatternElementImpl):
  +        (SVGPatternElementImpl::~SVGPatternElementImpl):
  +        (SVGPatternElementImpl::patternUnits):
  +        (SVGPatternElementImpl::patternContentUnits):
  +        (SVGPatternElementImpl::getCTM):
  +        * ksvg2/svg/SVGPatternElementImpl.h:
  +        * ksvg2/svg/SVGPolyElementImpl.cpp:
  +        (SVGPolyElementImpl::SVGPolyElementImpl):
  +        (SVGPolyElementImpl::~SVGPolyElementImpl):
  +        * ksvg2/svg/SVGPolyElementImpl.h:
  +        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
  +        (SVGRadialGradientElementImpl::SVGRadialGradientElementImpl):
  +        (SVGRadialGradientElementImpl::~SVGRadialGradientElementImpl):
  +        (SVGRadialGradientElementImpl::cx):
  +        (SVGRadialGradientElementImpl::cy):
  +        (SVGRadialGradientElementImpl::r):
  +        * ksvg2/svg/SVGRadialGradientElementImpl.h:
  +        * ksvg2/svg/SVGRectElementImpl.cpp:
  +        (SVGRectElementImpl::SVGRectElementImpl):
  +        (SVGRectElementImpl::~SVGRectElementImpl):
  +        * ksvg2/svg/SVGRectElementImpl.h:
  +        * ksvg2/svg/SVGSVGElementImpl.cpp:
  +        (SVGSVGElementImpl::SVGSVGElementImpl):
  +        (SVGSVGElementImpl::~SVGSVGElementImpl):
  +        (SVGSVGElementImpl::width):
  +        (SVGSVGElementImpl::height):
  +        (SVGSVGElementImpl::viewport):
  +        * ksvg2/svg/SVGSVGElementImpl.h:
  +        * ksvg2/svg/SVGScriptElementImpl.cpp:
  +        (SVGScriptElementImpl::SVGScriptElementImpl):
  +        (SVGScriptElementImpl::~SVGScriptElementImpl):
  +        (SVGScriptElementImpl::type):
  +        (SVGScriptElementImpl::setType):
  +        (SVGScriptElementImpl::executeScript):
  +        * ksvg2/svg/SVGScriptElementImpl.h:
  +        * ksvg2/svg/SVGStopElementImpl.cpp:
  +        (SVGStopElementImpl::SVGStopElementImpl):
  +        (SVGStopElementImpl::~SVGStopElementImpl):
  +        * ksvg2/svg/SVGStopElementImpl.h:
  +        * ksvg2/svg/SVGStringListImpl.cpp:
  +        (SVGStringListImpl::reset):
  +        * ksvg2/svg/SVGStyledElementImpl.cpp:
  +        (SVGStyledElementImpl::SVGStyledElementImpl):
  +        (SVGStyledElementImpl::~SVGStyledElementImpl):
  +        (SVGStyledElementImpl::className):
  +        * ksvg2/svg/SVGStyledElementImpl.h:
  +        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
  +        (SVGStyledTransformableElementImpl::SVGStyledTransformableElementImpl):
  +        (SVGStyledTransformableElementImpl::~SVGStyledTransformableElementImpl):
  +        (SVGStyledTransformableElementImpl::getCTM):
  +        (SVGStyledTransformableElementImpl::getScreenCTM):
  +        (SVGStyledTransformableElementImpl::updateLocalTransform):
  +        * ksvg2/svg/SVGStyledTransformableElementImpl.h:
  +        * ksvg2/svg/SVGTestsImpl.cpp:
  +        (SVGTestsImpl::SVGTestsImpl):
  +        (SVGTestsImpl::~SVGTestsImpl):
  +        * ksvg2/svg/SVGTestsImpl.h:
  +        * ksvg2/svg/SVGTextContentElementImpl.cpp:
  +        (SVGTextContentElementImpl::SVGTextContentElementImpl):
  +        (SVGTextContentElementImpl::~SVGTextContentElementImpl):
  +        * ksvg2/svg/SVGTextContentElementImpl.h:
  +        * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
  +        (SVGTextPositioningElementImpl::SVGTextPositioningElementImpl):
  +        (SVGTextPositioningElementImpl::~SVGTextPositioningElementImpl):
  +        * ksvg2/svg/SVGTextPositioningElementImpl.h:
  +        * ksvg2/svg/SVGTransformImpl.cpp:
  +        (SVGTransformImpl::SVGTransformImpl):
  +        (SVGTransformImpl::~SVGTransformImpl):
  +        (SVGTransformImpl::matrix):
  +        (SVGTransformImpl::setMatrix):
  +        * ksvg2/svg/SVGTransformImpl.h:
  +        * ksvg2/svg/SVGURIReferenceImpl.cpp:
  +        (SVGURIReferenceImpl::SVGURIReferenceImpl):
  +        (SVGURIReferenceImpl::~SVGURIReferenceImpl):
  +        * ksvg2/svg/SVGURIReferenceImpl.h:
  +        * ksvg2/svg/SVGUseElementImpl.cpp:
  +        (SVGUseElementImpl::SVGUseElementImpl):
  +        (SVGUseElementImpl::~SVGUseElementImpl):
  +        * ksvg2/svg/SVGUseElementImpl.h:
  +        * ksvg2/svg/SVGViewElementImpl.cpp:
  +        (SVGViewElementImpl::SVGViewElementImpl):
  +        (SVGViewElementImpl::~SVGViewElementImpl):
  +        * ksvg2/svg/SVGViewElementImpl.h:
  +
    2005-11-23  Eric Seidel  <eseidel at apple.com>
    
            Reviewed by mjs.
  
  
  
  1.3       +0 -9      SVGSupport/WebCore+SVG/KDOMStubClasses.h
  
  Index: KDOMStubClasses.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/WebCore+SVG/KDOMStubClasses.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- KDOMStubClasses.h	4 Nov 2005 00:28:05 -0000	1.2
  +++ KDOMStubClasses.h	26 Nov 2005 22:19:02 -0000	1.3
  @@ -18,15 +18,6 @@
   namespace KDOM
   {
       typedef NodeImpl EventTargetImpl;
  -    
  -    // FIXME: should be replaced by SharedPtr use.
  -    template<class T>
  -    inline void KDOM_SAFE_SET(T *&a, T *b)
  -    {
  -        if (b) b->ref();
  -        if (a) a->deref();
  -        a = b;
  -    }
   };
   
   #endif // KDOMStubClasses_h
  \ No newline at end of file
  
  
  
  1.7       +3 -14     SVGSupport/ksvg2/events/SVGZoomEventImpl.cpp
  
  Index: SVGZoomEventImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/events/SVGZoomEventImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGZoomEventImpl.cpp	21 Nov 2005 08:29:30 -0000	1.6
  +++ SVGZoomEventImpl.cpp	26 Nov 2005 22:19:02 -0000	1.7
  @@ -31,26 +31,15 @@
   {
       m_newScale = 0.0;
       m_previousScale = 0.0;
  -
  -    m_zoomRectScreen = 0;
  -
  -    m_newTranslate = 0;
  -    m_previousTranslate = 0;
   }
   
   SVGZoomEventImpl::~SVGZoomEventImpl()
   {
  -    if(m_newTranslate)
  -        m_newTranslate->deref();
  -    if(m_previousTranslate)
  -        m_previousTranslate->deref();
  -    if(m_zoomRectScreen)
  -        m_zoomRectScreen->deref();
   }
   
   SVGRectImpl *SVGZoomEventImpl::zoomRectScreen() const
   {
  -    return m_zoomRectScreen;
  +    return m_zoomRectScreen.get();
   }
   
   float SVGZoomEventImpl::previousScale() const
  @@ -65,7 +54,7 @@
   
   SVGPointImpl *SVGZoomEventImpl::previousTranslate() const
   {
  -    return m_previousTranslate;
  +    return m_previousTranslate.get();
   }
   
   float SVGZoomEventImpl::newScale() const
  @@ -80,7 +69,7 @@
   
   SVGPointImpl *SVGZoomEventImpl::newTranslate() const
   {
  -    return m_newTranslate;
  +    return m_newTranslate.get();
   }
   
   // vim:ts=4:noet
  
  
  
  1.6       +3 -3      SVGSupport/ksvg2/events/SVGZoomEventImpl.h
  
  Index: SVGZoomEventImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/events/SVGZoomEventImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGZoomEventImpl.h	21 Nov 2005 08:29:30 -0000	1.5
  +++ SVGZoomEventImpl.h	26 Nov 2005 22:19:02 -0000	1.6
  @@ -52,10 +52,10 @@
           float m_newScale;
           float m_previousScale;
           
  -        SVGRectImpl *m_zoomRectScreen;
  +        SharedPtr<SVGRectImpl> m_zoomRectScreen;
           
  -        SVGPointImpl *m_newTranslate;
  -        SVGPointImpl *m_previousTranslate;
  +        SharedPtr<SVGPointImpl> m_newTranslate;
  +        SharedPtr<SVGPointImpl> m_previousTranslate;
       };
   };
   
  
  
  
  1.10      +12 -27    SVGSupport/ksvg2/misc/KSVGTimeScheduler.cpp
  
  Index: KSVGTimeScheduler.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/misc/KSVGTimeScheduler.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- KSVGTimeScheduler.cpp	21 Nov 2005 08:29:31 -0000	1.9
  +++ KSVGTimeScheduler.cpp	26 Nov 2005 22:19:03 -0000	1.10
  @@ -176,7 +176,7 @@
           Q3PtrList<SVGAnimationElementImpl>::Iterator end = tit.data().end();
   
           QMap<QString, QColor> targetColor; // special <animateColor> case
  -        SVGTransformListImpl *targetTransforms = 0; // special <animateTransform> case    
  +        SharedPtr<SVGTransformListImpl> targetTransforms; // special <animateTransform> case    
   
           for(; it != end; ++it)
           {
  @@ -207,54 +207,39 @@
                   if(!animTransform)
                       continue;
   
  -                SVGMatrixImpl *transformMatrix = animTransform->transformMatrix();
  +                SharedPtr<SVGMatrixImpl> transformMatrix = animTransform->transformMatrix();
                   if(!transformMatrix)
                       continue;
   
  -                SVGMatrixImpl *initialMatrix = animTransform->initialMatrix();
  -    
  -                if(initialMatrix)
  -                    initialMatrix->ref();
  -            
  -                transformMatrix->ref();
  -    
  -                SVGTransformImpl *data = new SVGTransformImpl();
  -                data->ref();
  +                SharedPtr<SVGMatrixImpl> initialMatrix = animTransform->initialMatrix();
  +                SharedPtr<SVGTransformImpl> data = new SVGTransformImpl();
   
                   if(!targetTransforms) // lazy creation, only if needed.
                   {
                       targetTransforms = new SVGTransformListImpl();
  -                    targetTransforms->ref();
   
                       if(animation->isAdditive() && initialMatrix)
                       {
  -                        SVGMatrixImpl *matrix = new SVGMatrixImpl(initialMatrix->qmatrix());
  -                        matrix->ref();
  -
  -                        data->setMatrix(matrix);
  -                        targetTransforms->appendItem(data);
  +                        SharedPtr<SVGMatrixImpl> matrix = new SVGMatrixImpl(initialMatrix->qmatrix());
  +                        
  +                        data->setMatrix(matrix.get());
  +                        targetTransforms->appendItem(data.get());
   
                           data = new SVGTransformImpl();
  -                        data->ref();
                       }
                   }
   
                   if(targetTransforms->numberOfItems() <= 1)
  -                    data->setMatrix(transformMatrix);
  +                    data->setMatrix(transformMatrix.get());
                   else
                   {
                       if(!animation->isAdditive())
                           targetTransforms->clear();    
                       
  -                    data->setMatrix(transformMatrix);
  +                    data->setMatrix(transformMatrix.get());
                   }
   
  -                targetTransforms->appendItem(data);
  -
  -                if(initialMatrix)
  -                    initialMatrix->deref();
  -
  -                transformMatrix->deref();
  +                targetTransforms->appendItem(data.get());
               }
               else if(animation->hasTagName(SVGNames::animateColorTag))
               {
  @@ -301,7 +286,7 @@
               if(key && key->isStyled() && key->isStyledTransformable())
               {
                   SVGStyledTransformableElementImpl *transform = static_cast<SVGStyledTransformableElementImpl *>(key);
  -                transform->transform()->setAnimVal(targetTransforms);
  +                transform->transform()->setAnimVal(targetTransforms.get());
                   transform->updateLocalTransform(transform->transform()->animVal());
               }
           }
  
  
  
  1.8       +0 -3      SVGSupport/ksvg2/svg/SVGAElementImpl.cpp
  
  Index: SVGAElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGAElementImpl.cpp	21 Nov 2005 08:29:33 -0000	1.7
  +++ SVGAElementImpl.cpp	26 Nov 2005 22:19:03 -0000	1.8
  @@ -41,13 +41,10 @@
   SVGAElementImpl::SVGAElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGURIReferenceImpl(), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_target = 0;
   }
   
   SVGAElementImpl::~SVGAElementImpl()
   {
  -    if(m_target)
  -        m_target->deref();
   }
   
   SVGAnimatedStringImpl *SVGAElementImpl::target() const
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGAElementImpl.h
  
  Index: SVGAElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGAElementImpl.h	21 Nov 2005 08:29:33 -0000	1.5
  +++ SVGAElementImpl.h	26 Nov 2005 22:19:03 -0000	1.6
  @@ -55,7 +55,7 @@
           virtual void defaultEventHandler(KDOM::EventImpl *evt);
   
       private:
  -        mutable SVGAnimatedStringImpl *m_target;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_target;
       };
   };
   
  
  
  
  1.8       +1 -12     SVGSupport/ksvg2/svg/SVGAnimateColorElementImpl.cpp
  
  Index: SVGAnimateColorElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimateColorElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGAnimateColorElementImpl.cpp	21 Nov 2005 08:29:33 -0000	1.7
  +++ SVGAnimateColorElementImpl.cpp	26 Nov 2005 22:19:03 -0000	1.8
  @@ -34,10 +34,7 @@
   : SVGAnimationElementImpl(tagName, doc)
   {
       m_toColor = new SVGColorImpl();
  -    m_toColor->ref();
  -
       m_fromColor = new SVGColorImpl();
  -    m_fromColor->ref();
   
       m_redDiff = 0;
       m_greenDiff = 0;
  @@ -48,10 +45,6 @@
   
   SVGAnimateColorElementImpl::~SVGAnimateColorElementImpl()
   {
  -    if(m_toColor)
  -        m_toColor->deref();
  -    if(m_fromColor)
  -        m_fromColor->deref();
   }
   
   void SVGAnimateColorElementImpl::handleTimerEvent(double timePercentage)
  @@ -60,14 +53,10 @@
       if(!m_connected)
       {
           // Save initial color... (needed for fill="remove" or additve="sum")
  -        SVGColorImpl *temp = new SVGColorImpl();
  -        temp->ref();
  -            
  +        SharedPtr<SVGColorImpl> temp = new SVGColorImpl();
           temp->setRGBColor(targetAttribute().impl());
   
           m_initialColor = temp->color();
  -        
  -        temp->deref();
   
           // Animation mode handling
           switch(detectAnimationMode())
  
  
  
  1.6       +2 -2      SVGSupport/ksvg2/svg/SVGAnimateColorElementImpl.h
  
  Index: SVGAnimateColorElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimateColorElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGAnimateColorElementImpl.h	21 Nov 2005 08:29:33 -0000	1.5
  +++ SVGAnimateColorElementImpl.h	26 Nov 2005 22:19:04 -0000	1.6
  @@ -48,8 +48,8 @@
           QColor m_currentColor;
           QColor m_initialColor;
   
  -        SVGColorImpl *m_toColor;
  -        SVGColorImpl *m_fromColor;
  +        SharedPtr<SVGColorImpl> m_toColor;
  +        SharedPtr<SVGColorImpl> m_fromColor;
   
           int m_currentItem;
           int m_redDiff, m_greenDiff, m_blueDiff;
  
  
  
  1.8       +12 -26    SVGSupport/ksvg2/svg/SVGAnimateTransformElementImpl.cpp
  
  Index: SVGAnimateTransformElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimateTransformElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGAnimateTransformElementImpl.cpp	21 Nov 2005 08:29:34 -0000	1.7
  +++ SVGAnimateTransformElementImpl.cpp	26 Nov 2005 22:19:04 -0000	1.8
  @@ -350,22 +350,20 @@
       }
   }
   
  -SVGTransformImpl *SVGAnimateTransformElementImpl::parseTransformValue(const QString &data) const
  +SharedPtr<SVGTransformImpl> SVGAnimateTransformElementImpl::parseTransformValue(const QString &data) const
   {
  -    SVGTransformImpl *ret = 0;
       QString parse = data.stripWhiteSpace();
       if(parse.isEmpty())
  -        return ret;
  +        return 0;
       
       int commaPos = parse.find(','); // In case two values are passed...
   
  +    SharedPtr<SVGTransformImpl> parsedTransform = new SVGTransformImpl();
  +    
       switch(m_type)
       {
           case SVG_TRANSFORM_TRANSLATE:
           {
  -            ret = new SVGTransformImpl();
  -            ret->ref();
  -
               double tx = 0.0, ty = 0.0;
               if(commaPos != - 1)
               {
  @@ -375,14 +373,11 @@
               else 
                   tx = parse.toDouble();
   
  -            ret->setTranslate(tx, ty);
  +            parsedTransform->setTranslate(tx, ty);
               break;    
           }
           case SVG_TRANSFORM_SCALE:
           {
  -            ret = new SVGTransformImpl();
  -            ret->ref();
  -
               double sx = 1.0, sy = 1.0;
               if(commaPos != - 1)
               {
  @@ -395,14 +390,11 @@
                   sy = sx;
               }
   
  -            ret->setScale(sx, sy);
  +            parsedTransform->setScale(sx, sy);
               break;
           }
           case SVG_TRANSFORM_ROTATE:
           {
  -            ret = new SVGTransformImpl();
  -            ret->ref();
  -
               double angle = 0, cx = 0, cy = 0;
               if(commaPos != - 1)
               {
  @@ -436,32 +428,26 @@
                   m_rotateSpecialCase = true;
               }
               
  -            ret->setRotate(angle, cx, cy);
  +            parsedTransform->setRotate(angle, cx, cy);
               break;    
           }
           case SVG_TRANSFORM_SKEWX:
           case SVG_TRANSFORM_SKEWY:
           {
  -            ret = new SVGTransformImpl();
  -            ret->ref();
  -            
               double angle = parse.toDouble(); // TODO: probably needs it's own 'angle' parser
               
               if(m_type == SVG_TRANSFORM_SKEWX)
  -                ret->setSkewX(angle);
  +                parsedTransform->setSkewX(angle);
               else
  -                ret->setSkewY(angle);
  +                parsedTransform->setSkewY(angle);
   
               break;
           }
           default:
  -            break;
  +            return 0;
       }
  -
  -    if(ret)
  -        ret->ref();
  -        
  -    return ret;
  +    
  +    return parsedTransform;
   }
   
   void SVGAnimateTransformElementImpl::calculateRotationFromMatrix(const QWMatrix &matrix, double &angle, double &cx, double &cy) const
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGAnimateTransformElementImpl.h
  
  Index: SVGAnimateTransformElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimateTransformElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGAnimateTransformElementImpl.h	21 Nov 2005 08:29:34 -0000	1.5
  +++ SVGAnimateTransformElementImpl.h	26 Nov 2005 22:19:04 -0000	1.6
  @@ -42,7 +42,7 @@
           virtual void handleTimerEvent(double timePercentage);
   
           // Helpers
  -        SVGTransformImpl *parseTransformValue(const QString &data) const;
  +        SharedPtr<SVGTransformImpl> parseTransformValue(const QString &data) const;
           void calculateRotationFromMatrix(const QWMatrix &matrix, double &angle, double &cx, double &cy) const;
   
           SVGMatrixImpl *initialMatrix() const;
  
  
  
  1.7       +6 -18     SVGSupport/ksvg2/svg/SVGAnimatedTemplate.h
  
  Index: SVGAnimatedTemplate.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimatedTemplate.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGAnimatedTemplate.h	21 Nov 2005 08:29:34 -0000	1.6
  +++ SVGAnimatedTemplate.h	26 Nov 2005 22:19:04 -0000	1.7
  @@ -39,26 +39,19 @@
       public:
           virtual ~SVGAnimatedTemplate()
           {
  -            if(m_baseVal)
  -                m_baseVal->deref();
  -            if(m_animVal)
  -                m_animVal->deref();
           }
   
           T *baseVal() const
           {
               if(!m_baseVal)
  -            {
                   m_baseVal = create();
  -                m_baseVal->ref();
  -            }
   
  -            return m_baseVal;
  +            return m_baseVal.get();
           }
   
           void setBaseVal(T *baseVal) const
           {
  -            KDOM::KDOM_SAFE_SET(m_baseVal, baseVal);
  +            m_baseVal = baseVal;
   
               if(m_context)
                   m_context->notifyAttributeChange();
  @@ -69,17 +62,14 @@
           T *animVal() const
           {
               if(!m_animVal)
  -            {
                   m_animVal = create();
  -                m_animVal->ref();
  -            }
   
  -            return m_animVal;
  +            return m_animVal.get();
           }
   
           void setAnimVal(T *animVal) const
           {
  -            KDOM::KDOM_SAFE_SET(m_animVal, animVal);
  +            m_animVal = animVal;
               
               // I think this is superfluous... -- ECS 4/25/05
               if(m_context)
  @@ -89,8 +79,6 @@
       protected:
           SVGAnimatedTemplate(const SVGStyledElementImpl *context) : KDOM::Shared<SVGAnimatedTemplate>()
           {
  -            m_baseVal = 0;
  -            m_animVal = 0;
               m_context = context;
           }
   
  @@ -105,8 +93,8 @@
           SVGAnimatedTemplate(const SVGAnimatedTemplate &) { }
           SVGAnimatedTemplate<T> &operator=(const SVGAnimatedTemplate<T> &) { }
           
  -        mutable T *m_baseVal;
  -        mutable T *m_animVal;
  +        mutable SharedPtr<T> m_baseVal;
  +        mutable SharedPtr<T> m_animVal;
       };
   };
   
  
  
  
  1.11      +5 -33     SVGSupport/ksvg2/svg/SVGAnimationElementImpl.cpp
  
  Index: SVGAnimationElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimationElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGAnimationElementImpl.cpp	21 Nov 2005 08:29:35 -0000	1.10
  +++ SVGAnimationElementImpl.cpp	26 Nov 2005 22:19:04 -0000	1.11
  @@ -60,10 +60,6 @@
       m_repeations = 0;
       m_repeatCount = 0;
   
  -    m_values = 0;
  -    m_keyTimes = 0;
  -    m_keySplines = 0;
  -
       m_fill = FILL_REMOVE;
       m_restart = RESTART_ALWAYS;
       m_calcMode = CALCMODE_LINEAR;
  @@ -74,12 +70,6 @@
   
   SVGAnimationElementImpl::~SVGAnimationElementImpl()
   {
  -    if(m_values)
  -        m_values->deref();
  -    if(m_keyTimes)
  -        m_keyTimes->deref();
  -    if(m_keySplines)
  -        m_keySplines->deref();
   }
   
   SVGElementImpl *SVGAnimationElementImpl::targetElement() const
  @@ -148,11 +138,10 @@
       else if (attr->name() == SVGNames::beginAttr || attr->name() == SVGNames::endAttr)
       {
           // Create list
  -        SVGStringListImpl *temp = new SVGStringListImpl();
  -        temp->ref();
  +        SharedPtr<SVGStringListImpl> temp = new SVGStringListImpl();
   
           // Feed data into list
  -        SVGHelper::ParseSeperatedList(temp, value.qstring(), ';');
  +        SVGHelper::ParseSeperatedList(temp.get(), value.qstring(), ';');
   
           // Parse data
           for(unsigned int i = 0; i < temp->numberOfItems(); i++)
  @@ -221,8 +210,6 @@
                   }
               }
           }
  -
  -        temp->deref();
       }
       else if (attr->name() == SVGNames::durAttr)
       {
  @@ -280,33 +267,18 @@
       }
       else if (attr->name() == SVGNames::valuesAttr)
       {
  -        if(m_values)
  -            m_values->deref();
  -
           m_values = new SVGStringListImpl();
  -        m_values->ref();
  -                    
  -        SVGHelper::ParseSeperatedList(m_values, value.qstring(), ';');
  +        SVGHelper::ParseSeperatedList(m_values.get(), value.qstring(), ';');
       }
       else if (attr->name() == SVGNames::keyTimesAttr)
       {
  -        if(m_keyTimes)
  -            m_keyTimes->deref();
  -
           m_keyTimes = new SVGStringListImpl();
  -        m_keyTimes->ref();
  -                    
  -        SVGHelper::ParseSeperatedList(m_keyTimes, value.qstring(), ';');
  +        SVGHelper::ParseSeperatedList(m_keyTimes.get(), value.qstring(), ';');
       }
       else if (attr->name() == SVGNames::keySplinesAttr)
       {
  -        if(m_keySplines)
  -            m_keySplines->deref();
  -
           m_keySplines = new SVGStringListImpl();
  -        m_keySplines->ref();
  -                    
  -        SVGHelper::ParseSeperatedList(m_keySplines, value.qstring(), ';');
  +        SVGHelper::ParseSeperatedList(m_keySplines.get(), value.qstring(), ';');
       }
       else if (attr->name() == SVGNames::fromAttr)
           m_from = value.qstring();
  
  
  
  1.7       +3 -3      SVGSupport/ksvg2/svg/SVGAnimationElementImpl.h
  
  Index: SVGAnimationElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimationElementImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGAnimationElementImpl.h	21 Nov 2005 08:29:35 -0000	1.6
  +++ SVGAnimationElementImpl.h	26 Nov 2005 22:19:04 -0000	1.7
  @@ -161,9 +161,9 @@
           double m_repeations;
           double m_repeatCount;
   
  -        SVGStringListImpl *m_values;
  -        SVGStringListImpl *m_keyTimes;
  -        SVGStringListImpl *m_keySplines;
  +        SharedPtr<SVGStringListImpl> m_values;
  +        SharedPtr<SVGStringListImpl> m_keyTimes;
  +        SharedPtr<SVGStringListImpl> m_keySplines;
       };
   };
   
  
  
  
  1.8       +0 -7      SVGSupport/ksvg2/svg/SVGCircleElementImpl.cpp
  
  Index: SVGCircleElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGCircleElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGCircleElementImpl.cpp	21 Nov 2005 08:29:35 -0000	1.7
  +++ SVGCircleElementImpl.cpp	26 Nov 2005 22:19:05 -0000	1.8
  @@ -36,17 +36,10 @@
   SVGCircleElementImpl::SVGCircleElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_cx = m_cy = m_r = 0;
   }
   
   SVGCircleElementImpl::~SVGCircleElementImpl()
   {
  -    if(m_cx)
  -        m_cx->deref();
  -    if(m_cy)
  -        m_cy->deref();
  -    if(m_r)
  -        m_r->deref();
   }
   
   SVGAnimatedLengthImpl *SVGCircleElementImpl::cx() const
  
  
  
  1.6       +3 -3      SVGSupport/ksvg2/svg/SVGCircleElementImpl.h
  
  Index: SVGCircleElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGCircleElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGCircleElementImpl.h	21 Nov 2005 08:29:35 -0000	1.5
  +++ SVGCircleElementImpl.h	26 Nov 2005 22:19:05 -0000	1.6
  @@ -53,9 +53,9 @@
           virtual const SVGStyledElementImpl *pushAttributeContext(const SVGStyledElementImpl *context);
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_cx;
  -        mutable SVGAnimatedLengthImpl *m_cy;
  -        mutable SVGAnimatedLengthImpl *m_r;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_cx;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_cy;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_r;
       };
   };
   
  
  
  
  1.9       +1 -4      SVGSupport/ksvg2/svg/SVGClipPathElementImpl.cpp
  
  Index: SVGClipPathElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGClipPathElementImpl.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGClipPathElementImpl.cpp	22 Nov 2005 02:22:07 -0000	1.8
  +++ SVGClipPathElementImpl.cpp	26 Nov 2005 22:19:05 -0000	1.9
  @@ -39,14 +39,11 @@
   SVGClipPathElementImpl::SVGClipPathElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_clipPathUnits = 0;
       m_clipper = 0;
   }
   
   SVGClipPathElementImpl::~SVGClipPathElementImpl()
   {
  -    if(m_clipPathUnits)
  -        m_clipPathUnits->deref();
   }
   
   SVGAnimatedEnumerationImpl *SVGClipPathElementImpl::clipPathUnits() const
  @@ -57,7 +54,7 @@
           m_clipPathUnits->setBaseVal(SVG_UNIT_TYPE_USERSPACEONUSE);
       }
   
  -    return m_clipPathUnits;
  +    return m_clipPathUnits.get();
   }
   
   void SVGClipPathElementImpl::parseMappedAttribute(KDOM::MappedAttributeImpl *attr)
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGClipPathElementImpl.h
  
  Index: SVGClipPathElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGClipPathElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGClipPathElementImpl.h	21 Nov 2005 08:29:35 -0000	1.5
  +++ SVGClipPathElementImpl.h	26 Nov 2005 22:19:05 -0000	1.6
  @@ -53,7 +53,7 @@
           virtual bool allowAttachChildren(KDOM::ElementImpl *) const { return false; }
   
       private:
  -        mutable SVGAnimatedEnumerationImpl *m_clipPathUnits;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_clipPathUnits;
           KCanvasClipper *m_clipper;
       };
   };
  
  
  
  1.8       +7 -9      SVGSupport/ksvg2/svg/SVGColorImpl.cpp
  
  Index: SVGColorImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGColorImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGColorImpl.cpp	21 Nov 2005 08:29:35 -0000	1.7
  +++ SVGColorImpl.cpp	26 Nov 2005 22:19:05 -0000	1.8
  @@ -31,26 +31,24 @@
   
   using namespace KSVG;
   
  -SVGColorImpl::SVGColorImpl() : KDOM::CSSValueImpl(), m_rgbColor(0)
  +SVGColorImpl::SVGColorImpl() : KDOM::CSSValueImpl()
   {
       m_colorType = SVG_COLORTYPE_UNKNOWN;
   }
   
  -SVGColorImpl::SVGColorImpl(KDOM::DOMStringImpl *rgbColor) : KDOM::CSSValueImpl(), m_rgbColor(0)
  +SVGColorImpl::SVGColorImpl(KDOM::DOMStringImpl *rgbColor) : KDOM::CSSValueImpl()
   {
       m_colorType = SVG_COLORTYPE_RGBCOLOR;
       setRGBColor(rgbColor);
   }
   
  -SVGColorImpl::SVGColorImpl(unsigned short colorType) : KDOM::CSSValueImpl(), m_rgbColor(0)
  +SVGColorImpl::SVGColorImpl(unsigned short colorType) : KDOM::CSSValueImpl()
   {
       m_colorType = colorType;
   }
   
   SVGColorImpl::~SVGColorImpl()
   {
  -    if(m_rgbColor)
  -        m_rgbColor->deref();
   }
   
   unsigned short SVGColorImpl::colorType() const
  @@ -216,12 +214,12 @@
   
   void SVGColorImpl::setRGBColor(KDOM::DOMStringImpl *rgbColor)
   {
  -    KDOM_SAFE_SET(m_rgbColor, rgbColor);
  +    m_rgbColor = rgbColor;
   
  -    if(!m_rgbColor)
  +    if(m_rgbColor.isNull())
           return;
   
  -    QString parse = KDOM::DOMString(m_rgbColor).qstring().stripWhiteSpace();
  +    QString parse = m_rgbColor.qstring().stripWhiteSpace();
       if(parse.startsWith(QString::fromLatin1("rgb(")))
       {
           QStringList colors = QStringList::split(',', parse);
  @@ -251,7 +249,7 @@
       }
       else
       {
  -        KDOM::DOMString colorName = m_rgbColor->lower();
  +        KDOM::DOMString colorName = m_rgbColor.lower();
           QString name = colorName.qstring();
   //        int col = KSVG::getValueID(name.ascii(), name.length());
   //        if(col == 0)
  
  
  
  1.7       +1 -1      SVGSupport/ksvg2/svg/SVGColorImpl.h
  
  Index: SVGColorImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGColorImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGColorImpl.h	21 Nov 2005 08:29:35 -0000	1.6
  +++ SVGColorImpl.h	26 Nov 2005 22:19:05 -0000	1.7
  @@ -60,7 +60,7 @@
       private:    
           QColor m_qColor;
           unsigned short m_colorType;
  -        KDOM::DOMStringImpl *m_rgbColor;
  +        KDOM::DOMString m_rgbColor;
       };
   };
   
  
  
  
  1.10      +0 -21     SVGSupport/ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp
  
  Index: SVGComponentTransferFunctionElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGComponentTransferFunctionElementImpl.cpp	22 Nov 2005 12:03:16 -0000	1.9
  +++ SVGComponentTransferFunctionElementImpl.cpp	26 Nov 2005 22:19:05 -0000	1.10
  @@ -40,31 +40,10 @@
   SVGComponentTransferFunctionElementImpl::SVGComponentTransferFunctionElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGElementImpl(tagName, doc)
   {
  -    m_type = 0;
  -    m_tableValues = 0;
  -    m_slope = 0;
  -    m_intercept = 0;
  -    m_amplitude = 0;
  -    m_exponent = 0;
  -    m_offset = 0;
   }
   
   SVGComponentTransferFunctionElementImpl::~SVGComponentTransferFunctionElementImpl()
   {
  -    if(m_type)
  -        m_type->deref();
  -    if(m_tableValues)
  -        m_tableValues->deref();
  -    if(m_slope)
  -        m_slope->deref();
  -    if(m_intercept)
  -        m_intercept->deref();
  -    if(m_amplitude)
  -        m_amplitude->deref();
  -    if(m_exponent)
  -        m_exponent->deref();
  -    if(m_offset)
  -        m_offset->deref();
   }
   
   SVGAnimatedEnumerationImpl *SVGComponentTransferFunctionElementImpl::type() const
  
  
  
  1.7       +7 -7      SVGSupport/ksvg2/svg/SVGComponentTransferFunctionElementImpl.h
  
  Index: SVGComponentTransferFunctionElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGComponentTransferFunctionElementImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGComponentTransferFunctionElementImpl.h	22 Nov 2005 12:03:16 -0000	1.6
  +++ SVGComponentTransferFunctionElementImpl.h	26 Nov 2005 22:19:06 -0000	1.7
  @@ -53,13 +53,13 @@
           KCComponentTransferFunction transferFunction() const;
   
       private:
  -        mutable SVGAnimatedEnumerationImpl *m_type;
  -        mutable SVGAnimatedNumberListImpl *m_tableValues;
  -        mutable SVGAnimatedNumberImpl *m_slope;
  -        mutable SVGAnimatedNumberImpl *m_intercept;
  -        mutable SVGAnimatedNumberImpl *m_amplitude;
  -        mutable SVGAnimatedNumberImpl *m_exponent;
  -        mutable SVGAnimatedNumberImpl *m_offset;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_type;
  +        mutable SharedPtr<SVGAnimatedNumberListImpl> m_tableValues;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_slope;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_intercept;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_amplitude;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_exponent;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_offset;
       };
   };
   
  
  
  
  1.4       +0 -5      SVGSupport/ksvg2/svg/SVGCursorElementImpl.cpp
  
  Index: SVGCursorElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGCursorElementImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SVGCursorElementImpl.cpp	21 Nov 2005 08:29:35 -0000	1.3
  +++ SVGCursorElementImpl.cpp	26 Nov 2005 22:19:06 -0000	1.4
  @@ -42,16 +42,11 @@
   SVGCursorElementImpl::SVGCursorElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGElementImpl(tagName, doc), SVGTestsImpl(), SVGExternalResourcesRequiredImpl(), SVGURIReferenceImpl(), KDOM::CachedObjectClient()
   {
  -    m_x = m_y = 0;
       m_cachedImage = 0;
   }
   
   SVGCursorElementImpl::~SVGCursorElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
   }
   
   SVGAnimatedLengthImpl *SVGCursorElementImpl::x() const
  
  
  
  1.3       +2 -2      SVGSupport/ksvg2/svg/SVGCursorElementImpl.h
  
  Index: SVGCursorElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGCursorElementImpl.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SVGCursorElementImpl.h	21 Nov 2005 08:29:36 -0000	1.2
  +++ SVGCursorElementImpl.h	26 Nov 2005 22:19:06 -0000	1.3
  @@ -57,8 +57,8 @@
           const QPixmap &pixmap() const { return m_image; }
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
           KDOM::CachedImage *m_cachedImage;
           QPixmap m_image;
       };
  
  
  
  1.13      +0 -2      SVGSupport/ksvg2/svg/SVGDocumentImpl.cpp
  
  Index: SVGDocumentImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGDocumentImpl.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SVGDocumentImpl.cpp	21 Nov 2005 08:29:36 -0000	1.12
  +++ SVGDocumentImpl.cpp	26 Nov 2005 22:19:06 -0000	1.13
  @@ -68,8 +68,6 @@
   {
       setPaintDevice(svgView()); // Assign our KSVGView as document paint device
   
  -    m_lastTarget = 0;
  -
       m_scriptsIt = 0;
       m_cachedScript = 0;
   }
  
  
  
  1.10      +0 -2      SVGSupport/ksvg2/svg/SVGDocumentImpl.h
  
  Index: SVGDocumentImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGDocumentImpl.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGDocumentImpl.h	21 Nov 2005 08:29:36 -0000	1.9
  +++ SVGDocumentImpl.h	26 Nov 2005 22:19:06 -0000	1.10
  @@ -81,8 +81,6 @@
           void dispatchUIEvent(KDOM::EventTargetImpl *target, const KDOM::AtomicString &type);
           void dispatchMouseEvent(KDOM::EventTargetImpl *target, const KDOM::AtomicString &type);
   
  -        KDOM::EventTargetImpl *m_lastTarget;
  -
           // <script> related
           void executeScripts(bool needsStyleSelectorUpdate);
           void addScripts(KDOM::NodeImpl *obj);
  
  
  
  1.11      +0 -14     SVGSupport/ksvg2/svg/SVGElementImpl.cpp
  
  Index: SVGElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGElementImpl.cpp	23 Nov 2005 15:14:09 -0000	1.10
  +++ SVGElementImpl.cpp	26 Nov 2005 22:19:06 -0000	1.11
  @@ -129,19 +129,5 @@
   #endif
       KDOM::StyledElementImpl::parseMappedAttribute(attr);
   }
  -#if 0
  -void SVGElementImpl::addSVGEventListener(KDOM::Ecma *ecmaEngine, KDOM::DOMStringImpl *type, KDOM::DOMStringImpl *value)
  -{
  -    if(!ecmaEngine)
  -        return;
  -
  -    KDOM::EventListenerImpl *listener = ecmaEngine->createEventListener(type, value);
  -    if(listener)
  -    {
  -        listener->ref();
  -        addEventListener(type, listener, false);
  -    }
  -}
  -#endif
   
   // vim:ts=4:noet
  
  
  
  1.10      +0 -15     SVGSupport/ksvg2/svg/SVGElementImpl.h
  
  Index: SVGElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGElementImpl.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGElementImpl.h	22 Nov 2005 00:09:03 -0000	1.9
  +++ SVGElementImpl.h	26 Nov 2005 22:19:06 -0000	1.10
  @@ -84,21 +84,6 @@
       };
   };
   
  -// Same like KDOM_IMPL_DTOR_ASSIGN_OP, just uses 'impl' instead of 'd'.
  -#define KSVG_IMPL_DTOR_ASSIGN_OP(T) \
  -T::~T() { if(impl) impl->deref(); } \
  -T &T::operator=(const T &other) { \
  -    KDOM_SAFE_SET(impl, other.impl); \
  -    return *this; \
  -} \
  -bool T::operator==(const T &other) const { \
  -    return impl == other.impl; \
  -} \
  -bool T::operator!=(const T &other) const { \
  -    return !operator==(other); \
  -} \
  -
  -
   // Helper for DOMNode -> SVGElement conversion
   #include <kdom/kdom.h>
   #include <kdom/Namespace.h>
  
  
  
  1.8       +0 -9      SVGSupport/ksvg2/svg/SVGEllipseElementImpl.cpp
  
  Index: SVGEllipseElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGEllipseElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGEllipseElementImpl.cpp	21 Nov 2005 08:29:37 -0000	1.7
  +++ SVGEllipseElementImpl.cpp	26 Nov 2005 22:19:06 -0000	1.8
  @@ -36,19 +36,10 @@
   SVGEllipseElementImpl::SVGEllipseElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_cx = m_cy = m_rx = m_ry = 0;
   }
   
   SVGEllipseElementImpl::~SVGEllipseElementImpl()
   {
  -    if(m_cx)
  -        m_cx->deref();
  -    if(m_cy)
  -        m_cy->deref();
  -    if(m_rx)
  -        m_rx->deref();
  -    if(m_ry)
  -        m_ry->deref();
   }
   
   SVGAnimatedLengthImpl *SVGEllipseElementImpl::cx() const
  
  
  
  1.6       +4 -4      SVGSupport/ksvg2/svg/SVGEllipseElementImpl.h
  
  Index: SVGEllipseElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGEllipseElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGEllipseElementImpl.h	21 Nov 2005 08:29:37 -0000	1.5
  +++ SVGEllipseElementImpl.h	26 Nov 2005 22:19:07 -0000	1.6
  @@ -54,10 +54,10 @@
           virtual const SVGStyledElementImpl *pushAttributeContext(const SVGStyledElementImpl *context);
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_cx;
  -        mutable SVGAnimatedLengthImpl *m_cy;
  -        mutable SVGAnimatedLengthImpl *m_rx;
  -        mutable SVGAnimatedLengthImpl *m_ry;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_cx;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_cy;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_rx;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_ry;
       };
   };
   
  
  
  
  1.7       +0 -3      SVGSupport/ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp
  
  Index: SVGExternalResourcesRequiredImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGExternalResourcesRequiredImpl.cpp	21 Nov 2005 08:29:37 -0000	1.6
  +++ SVGExternalResourcesRequiredImpl.cpp	26 Nov 2005 22:19:07 -0000	1.7
  @@ -33,13 +33,10 @@
   
   SVGExternalResourcesRequiredImpl::SVGExternalResourcesRequiredImpl()
   {
  -    m_external = 0;
   }
   
   SVGExternalResourcesRequiredImpl::~SVGExternalResourcesRequiredImpl()
   {
  -    if(m_external)
  -        m_external->deref();
   }
   
   SVGAnimatedBooleanImpl *SVGExternalResourcesRequiredImpl::externalResourcesRequired() const
  
  
  
  1.5       +1 -1      SVGSupport/ksvg2/svg/SVGExternalResourcesRequiredImpl.h
  
  Index: SVGExternalResourcesRequiredImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGExternalResourcesRequiredImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGExternalResourcesRequiredImpl.h	21 Nov 2005 08:29:37 -0000	1.4
  +++ SVGExternalResourcesRequiredImpl.h	26 Nov 2005 22:19:07 -0000	1.5
  @@ -43,7 +43,7 @@
           bool parseMappedAttribute(KDOM::MappedAttributeImpl *attr);
   
       private:
  -        mutable SVGAnimatedBooleanImpl *m_external;
  +        mutable SharedPtr<SVGAnimatedBooleanImpl> m_external;
       };
   };
   
  
  
  
  1.10      +0 -8      SVGSupport/ksvg2/svg/SVGFEBlendElementImpl.cpp
  
  Index: SVGFEBlendElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEBlendElementImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGFEBlendElementImpl.cpp	22 Nov 2005 23:04:29 -0000	1.9
  +++ SVGFEBlendElementImpl.cpp	26 Nov 2005 22:19:07 -0000	1.10
  @@ -42,19 +42,11 @@
   SVGFEBlendElementImpl::SVGFEBlendElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = m_in2 = 0;
  -    m_mode = 0;
       m_filterEffect = 0;
   }
   
   SVGFEBlendElementImpl::~SVGFEBlendElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
  -    if(m_in2)
  -        m_in2->deref();
  -    if(m_mode)
  -        m_mode->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEBlendElementImpl::in1() const
  
  
  
  1.9       +3 -3      SVGSupport/ksvg2/svg/SVGFEBlendElementImpl.h
  
  Index: SVGFEBlendElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEBlendElementImpl.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGFEBlendElementImpl.h	22 Nov 2005 23:04:29 -0000	1.8
  +++ SVGFEBlendElementImpl.h	26 Nov 2005 22:19:07 -0000	1.9
  @@ -48,9 +48,9 @@
           virtual KCanvasFEBlend *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  -        mutable SVGAnimatedStringImpl *m_in2;
  -        mutable SVGAnimatedEnumerationImpl *m_mode;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in2;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_mode;
           mutable KCanvasFEBlend *m_filterEffect;
       };
   };
  
  
  
  1.11      +0 -9      SVGSupport/ksvg2/svg/SVGFEColorMatrixElementImpl.cpp
  
  Index: SVGFEColorMatrixElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEColorMatrixElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGFEColorMatrixElementImpl.cpp	22 Nov 2005 23:04:29 -0000	1.10
  +++ SVGFEColorMatrixElementImpl.cpp	26 Nov 2005 22:19:08 -0000	1.11
  @@ -46,20 +46,11 @@
   SVGFEColorMatrixElementImpl::SVGFEColorMatrixElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = 0;
  -    m_type = 0;
  -    m_values = 0;
       m_filterEffect = 0;
   }
   
   SVGFEColorMatrixElementImpl::~SVGFEColorMatrixElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
  -    if(m_type)
  -        m_type->deref();
  -    if(m_values)
  -        m_values->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEColorMatrixElementImpl::in1() const
  
  
  
  1.8       +3 -3      SVGSupport/ksvg2/svg/SVGFEColorMatrixElementImpl.h
  
  Index: SVGFEColorMatrixElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEColorMatrixElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFEColorMatrixElementImpl.h	22 Nov 2005 23:04:29 -0000	1.7
  +++ SVGFEColorMatrixElementImpl.h	26 Nov 2005 22:19:08 -0000	1.8
  @@ -49,9 +49,9 @@
           virtual KCanvasFEColorMatrix *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  -        mutable SVGAnimatedEnumerationImpl *m_type;
  -        mutable SVGAnimatedNumberListImpl *m_values;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_type;
  +        mutable SharedPtr<SVGAnimatedNumberListImpl> m_values;
           mutable KCanvasFEColorMatrix *m_filterEffect;
       };
   };
  
  
  
  1.11      +0 -3      SVGSupport/ksvg2/svg/SVGFEComponentTransferElementImpl.cpp
  
  Index: SVGFEComponentTransferElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEComponentTransferElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGFEComponentTransferElementImpl.cpp	22 Nov 2005 23:04:29 -0000	1.10
  +++ SVGFEComponentTransferElementImpl.cpp	26 Nov 2005 22:19:08 -0000	1.11
  @@ -48,14 +48,11 @@
   SVGFEComponentTransferElementImpl::SVGFEComponentTransferElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = 0;
       m_filterEffect = 0;
   }
   
   SVGFEComponentTransferElementImpl::~SVGFEComponentTransferElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEComponentTransferElementImpl::in1() const
  
  
  
  1.8       +1 -1      SVGSupport/ksvg2/svg/SVGFEComponentTransferElementImpl.h
  
  Index: SVGFEComponentTransferElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEComponentTransferElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFEComponentTransferElementImpl.h	22 Nov 2005 23:04:29 -0000	1.7
  +++ SVGFEComponentTransferElementImpl.h	26 Nov 2005 22:19:08 -0000	1.8
  @@ -45,7 +45,7 @@
           virtual KCanvasFEComponentTransfer *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
           mutable KCanvasFEComponentTransfer *m_filterEffect;
       };
   };
  
  
  
  1.10      +0 -17     SVGSupport/ksvg2/svg/SVGFECompositeElementImpl.cpp
  
  Index: SVGFECompositeElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFECompositeElementImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGFECompositeElementImpl.cpp	22 Nov 2005 23:04:29 -0000	1.9
  +++ SVGFECompositeElementImpl.cpp	26 Nov 2005 22:19:08 -0000	1.10
  @@ -46,28 +46,11 @@
   SVGFECompositeElementImpl::SVGFECompositeElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = m_in2 = 0;
  -    m_k1 = m_k2 = m_k3 = m_k4 = 0;
  -    m_operator = 0;
       m_filterEffect = 0;
   }
   
   SVGFECompositeElementImpl::~SVGFECompositeElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
  -    if(m_in2)
  -        m_in2->deref();
  -    if(m_operator)
  -        m_operator->deref();
  -    if(m_k1)
  -        m_k1->deref();
  -    if(m_k2)
  -        m_k2->deref();
  -    if(m_k3)
  -        m_k3->deref();
  -    if(m_k4)
  -        m_k4->deref();
   }
   
   SVGAnimatedStringImpl *SVGFECompositeElementImpl::in1() const
  
  
  
  1.8       +7 -7      SVGSupport/ksvg2/svg/SVGFECompositeElementImpl.h
  
  Index: SVGFECompositeElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFECompositeElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFECompositeElementImpl.h	22 Nov 2005 23:04:29 -0000	1.7
  +++ SVGFECompositeElementImpl.h	26 Nov 2005 22:19:09 -0000	1.8
  @@ -53,13 +53,13 @@
           virtual KCanvasFEComposite *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  -        mutable SVGAnimatedStringImpl *m_in2;
  -        mutable SVGAnimatedEnumerationImpl *m_operator;
  -        mutable SVGAnimatedNumberImpl *m_k1;
  -        mutable SVGAnimatedNumberImpl *m_k2;
  -        mutable SVGAnimatedNumberImpl *m_k3;
  -        mutable SVGAnimatedNumberImpl *m_k4;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in2;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_operator;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_k1;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_k2;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_k3;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_k4;
           mutable KCanvasFEComposite *m_filterEffect;
       };
   };
  
  
  
  1.10      +0 -3      SVGSupport/ksvg2/svg/SVGFEFloodElementImpl.cpp
  
  Index: SVGFEFloodElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEFloodElementImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGFEFloodElementImpl.cpp	22 Nov 2005 23:04:29 -0000	1.9
  +++ SVGFEFloodElementImpl.cpp	26 Nov 2005 22:19:09 -0000	1.10
  @@ -41,14 +41,11 @@
   SVGFEFloodElementImpl::SVGFEFloodElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = 0;
       m_filterEffect = 0;
   }
   
   SVGFEFloodElementImpl::~SVGFEFloodElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEFloodElementImpl::in1() const
  
  
  
  1.9       +1 -1      SVGSupport/ksvg2/svg/SVGFEFloodElementImpl.h
  
  Index: SVGFEFloodElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEFloodElementImpl.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGFEFloodElementImpl.h	22 Nov 2005 23:04:29 -0000	1.8
  +++ SVGFEFloodElementImpl.h	26 Nov 2005 22:19:09 -0000	1.9
  @@ -45,7 +45,7 @@
           virtual KCanvasFEFlood *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
           mutable KCanvasFEFlood *m_filterEffect;
       };
   };
  
  
  
  1.11      +0 -9      SVGSupport/ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp
  
  Index: SVGFEGaussianBlurElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGFEGaussianBlurElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.10
  +++ SVGFEGaussianBlurElementImpl.cpp	26 Nov 2005 22:19:09 -0000	1.11
  @@ -44,20 +44,11 @@
   SVGFEGaussianBlurElementImpl::SVGFEGaussianBlurElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = 0;
  -    m_stdDeviationX = 0;
  -    m_stdDeviationY = 0;
       m_filterEffect = 0;
   }
   
   SVGFEGaussianBlurElementImpl::~SVGFEGaussianBlurElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
  -    if(m_stdDeviationX)
  -        m_stdDeviationX->deref();
  -    if(m_stdDeviationY)
  -        m_stdDeviationY->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEGaussianBlurElementImpl::in1() const
  
  
  
  1.8       +3 -3      SVGSupport/ksvg2/svg/SVGFEGaussianBlurElementImpl.h
  
  Index: SVGFEGaussianBlurElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEGaussianBlurElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFEGaussianBlurElementImpl.h	22 Nov 2005 23:04:30 -0000	1.7
  +++ SVGFEGaussianBlurElementImpl.h	26 Nov 2005 22:19:09 -0000	1.8
  @@ -50,9 +50,9 @@
           virtual KCanvasFEGaussianBlur *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  -        mutable SVGAnimatedNumberImpl *m_stdDeviationX;
  -        mutable SVGAnimatedNumberImpl *m_stdDeviationY;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_stdDeviationX;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_stdDeviationY;
           mutable KCanvasFEGaussianBlur *m_filterEffect;
       };
   };
  
  
  
  1.11      +0 -3      SVGSupport/ksvg2/svg/SVGFEImageElementImpl.cpp
  
  Index: SVGFEImageElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEImageElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGFEImageElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.10
  +++ SVGFEImageElementImpl.cpp	26 Nov 2005 22:19:09 -0000	1.11
  @@ -49,14 +49,11 @@
   : SVGFilterPrimitiveStandardAttributesImpl(tagName, doc), SVGURIReferenceImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
       m_filterEffect = 0;
  -    m_preserveAspectRatio = 0;
       m_cachedImage = 0;
   }
   
   SVGFEImageElementImpl::~SVGFEImageElementImpl()
   {
  -    if(m_preserveAspectRatio)
  -        m_preserveAspectRatio->deref();
   }
   
   SVGAnimatedPreserveAspectRatioImpl *SVGFEImageElementImpl::preserveAspectRatio() const
  
  
  
  1.8       +1 -1      SVGSupport/ksvg2/svg/SVGFEImageElementImpl.h
  
  Index: SVGFEImageElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEImageElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFEImageElementImpl.h	22 Nov 2005 23:04:30 -0000	1.7
  +++ SVGFEImageElementImpl.h	26 Nov 2005 22:19:09 -0000	1.8
  @@ -55,7 +55,7 @@
           virtual KCanvasFEImage *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedPreserveAspectRatioImpl *m_preserveAspectRatio;
  +        mutable SharedPtr<SVGAnimatedPreserveAspectRatioImpl> m_preserveAspectRatio;
           KDOM::CachedImage *m_cachedImage;
           mutable KCanvasFEImage *m_filterEffect;
       };
  
  
  
  1.8       +0 -3      SVGSupport/ksvg2/svg/SVGFEMergeNodeElementImpl.cpp
  
  Index: SVGFEMergeNodeElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEMergeNodeElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFEMergeNodeElementImpl.cpp	21 Nov 2005 08:29:39 -0000	1.7
  +++ SVGFEMergeNodeElementImpl.cpp	26 Nov 2005 22:19:09 -0000	1.8
  @@ -31,13 +31,10 @@
   
   SVGFEMergeNodeElementImpl::SVGFEMergeNodeElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGElementImpl(tagName, doc)
   {
  -    m_in1 = 0;
   }
   
   SVGFEMergeNodeElementImpl::~SVGFEMergeNodeElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEMergeNodeElementImpl::in1() const
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGFEMergeNodeElementImpl.h
  
  Index: SVGFEMergeNodeElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEMergeNodeElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGFEMergeNodeElementImpl.h	21 Nov 2005 08:29:39 -0000	1.5
  +++ SVGFEMergeNodeElementImpl.h	26 Nov 2005 22:19:09 -0000	1.6
  @@ -41,7 +41,7 @@
           SVGAnimatedStringImpl *in1() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
       };
   };
   
  
  
  
  1.11      +0 -9      SVGSupport/ksvg2/svg/SVGFEOffsetElementImpl.cpp
  
  Index: SVGFEOffsetElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEOffsetElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGFEOffsetElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.10
  +++ SVGFEOffsetElementImpl.cpp	26 Nov 2005 22:19:10 -0000	1.11
  @@ -43,20 +43,11 @@
   SVGFEOffsetElementImpl::SVGFEOffsetElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = 0;
  -    m_dx = 0;
  -    m_dy = 0;
       m_filterEffect = 0;
   }
   
   SVGFEOffsetElementImpl::~SVGFEOffsetElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
  -    if(m_dx)
  -        m_dx->deref();
  -    if(m_dy)
  -        m_dy->deref();
   }
   
   SVGAnimatedStringImpl *SVGFEOffsetElementImpl::in1() const
  
  
  
  1.8       +3 -3      SVGSupport/ksvg2/svg/SVGFEOffsetElementImpl.h
  
  Index: SVGFEOffsetElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFEOffsetElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFEOffsetElementImpl.h	22 Nov 2005 23:04:30 -0000	1.7
  +++ SVGFEOffsetElementImpl.h	26 Nov 2005 22:19:10 -0000	1.8
  @@ -48,9 +48,9 @@
           virtual KCanvasFEOffset *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  -        mutable SVGAnimatedNumberImpl *m_dx;
  -        mutable SVGAnimatedNumberImpl *m_dy;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_dx;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_dy;
           mutable KCanvasFEOffset *m_filterEffect;
       };
   };
  
  
  
  1.10      +0 -3      SVGSupport/ksvg2/svg/SVGFETileElementImpl.cpp
  
  Index: SVGFETileElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFETileElementImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGFETileElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.9
  +++ SVGFETileElementImpl.cpp	26 Nov 2005 22:19:10 -0000	1.10
  @@ -40,14 +40,11 @@
   SVGFETileElementImpl::SVGFETileElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_in1 = 0;
       m_filterEffect = 0;
   }
   
   SVGFETileElementImpl::~SVGFETileElementImpl()
   {
  -    if(m_in1)
  -        m_in1->deref();
   }
   
   SVGAnimatedStringImpl *SVGFETileElementImpl::in1() const
  
  
  
  1.8       +1 -1      SVGSupport/ksvg2/svg/SVGFETileElementImpl.h
  
  Index: SVGFETileElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFETileElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFETileElementImpl.h	22 Nov 2005 23:04:30 -0000	1.7
  +++ SVGFETileElementImpl.h	26 Nov 2005 22:19:10 -0000	1.8
  @@ -45,7 +45,7 @@
           virtual KCanvasFETile *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedStringImpl *m_in1;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_in1;
           mutable KCanvasFETile *m_filterEffect;
       };
   };
  
  
  
  1.12      +0 -15     SVGSupport/ksvg2/svg/SVGFETurbulenceElementImpl.cpp
  
  Index: SVGFETurbulenceElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFETurbulenceElementImpl.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SVGFETurbulenceElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.11
  +++ SVGFETurbulenceElementImpl.cpp	26 Nov 2005 22:19:10 -0000	1.12
  @@ -45,26 +45,11 @@
   SVGFETurbulenceElementImpl::SVGFETurbulenceElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : 
   SVGFilterPrimitiveStandardAttributesImpl(tagName, doc)
   {
  -    m_baseFrequencyX = m_baseFrequencyY = m_seed = 0;
  -    m_numOctaves = 0;
  -    m_stitchTiles = m_type = 0;
       m_filterEffect = 0;
   }
   
   SVGFETurbulenceElementImpl::~SVGFETurbulenceElementImpl()
   {
  -    if(m_baseFrequencyX)
  -        m_baseFrequencyX->deref();
  -    if(m_baseFrequencyY)
  -        m_baseFrequencyY->deref();
  -    if(m_numOctaves)
  -        m_numOctaves->deref();
  -    if(m_seed)
  -        m_seed->deref();
  -    if(m_stitchTiles)
  -        m_stitchTiles->deref();
  -    if(m_type)
  -        m_type->deref();
   }
   
   SVGAnimatedNumberImpl *SVGFETurbulenceElementImpl::baseFrequencyX() const
  
  
  
  1.8       +6 -6      SVGSupport/ksvg2/svg/SVGFETurbulenceElementImpl.h
  
  Index: SVGFETurbulenceElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFETurbulenceElementImpl.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGFETurbulenceElementImpl.h	22 Nov 2005 23:04:30 -0000	1.7
  +++ SVGFETurbulenceElementImpl.h	26 Nov 2005 22:19:10 -0000	1.8
  @@ -52,12 +52,12 @@
           virtual KCanvasFETurbulence *filterEffect() const;
   
       private:
  -        mutable SVGAnimatedNumberImpl *m_baseFrequencyX;
  -        mutable SVGAnimatedNumberImpl *m_baseFrequencyY;
  -        mutable SVGAnimatedIntegerImpl *m_numOctaves;
  -        mutable SVGAnimatedNumberImpl *m_seed;
  -        mutable SVGAnimatedEnumerationImpl *m_stitchTiles;
  -        mutable SVGAnimatedEnumerationImpl *m_type;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_baseFrequencyX;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_baseFrequencyY;
  +        mutable SharedPtr<SVGAnimatedIntegerImpl> m_numOctaves;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_seed;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_stitchTiles;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_type;
           mutable KCanvasFETurbulence *m_filterEffect;
       };
   };
  
  
  
  1.11      +12 -41    SVGSupport/ksvg2/svg/SVGFilterElementImpl.cpp
  
  Index: SVGFilterElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFilterElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGFilterElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.10
  +++ SVGFilterElementImpl.cpp	26 Nov 2005 22:19:10 -0000	1.11
  @@ -42,104 +42,75 @@
   SVGFilterElementImpl::SVGFilterElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledElementImpl(tagName, doc), SVGURIReferenceImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_filterUnits = m_primitiveUnits = 0;
  -    m_x = m_y = m_width = m_height = 0;
  -    m_filterResX = m_filterResY = 0;
       m_filter = 0;
   }
   
   SVGFilterElementImpl::~SVGFilterElementImpl()
   {
  -    if(m_filterUnits)
  -        m_filterUnits->deref();
  -    if(m_primitiveUnits)
  -        m_primitiveUnits->deref();
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
  -    if(m_filterResX)
  -        m_filterResX->deref();
  -    if(m_filterResY)
  -        m_filterResY->deref();
   }
   
   SVGAnimatedEnumerationImpl *SVGFilterElementImpl::filterUnits() const
   {
  -    if(!m_filterUnits)
  -    {
  +    if (!m_filterUnits) {
           lazy_create<SVGAnimatedEnumerationImpl>(m_filterUnits, this);
           m_filterUnits->setBaseVal(SVG_UNIT_TYPE_OBJECTBOUNDINGBOX);
       }
   
  -    return m_filterUnits;
  +    return m_filterUnits.get();
   }
   
   SVGAnimatedEnumerationImpl *SVGFilterElementImpl::primitiveUnits() const
   {
  -    if(!m_primitiveUnits)
  -    {
  +    if (!m_primitiveUnits) {
           lazy_create<SVGAnimatedEnumerationImpl>(m_primitiveUnits, this);
           m_primitiveUnits->setBaseVal(SVG_UNIT_TYPE_USERSPACEONUSE);
       }
   
  -    return m_primitiveUnits;
  +    return m_primitiveUnits.get();
   }
   
   SVGAnimatedLengthImpl *SVGFilterElementImpl::x() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "-10%" were specified.
  -    if(!m_x)
  -    {
  +    if (!m_x) {
           lazy_create<SVGAnimatedLengthImpl>(m_x, this, LM_WIDTH, viewportElement());
           m_x->baseVal()->setValueAsString(KDOM::DOMString("-10%").impl());
  -        return m_x;
       }
   
  -    return m_x;
  +    return m_x.get();
   }
   
   SVGAnimatedLengthImpl *SVGFilterElementImpl::y() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "-10%" were specified.
  -    if(!m_y)
  -    {
  +    if (!m_y) {
           lazy_create<SVGAnimatedLengthImpl>(m_y, this, LM_HEIGHT, viewportElement());
           m_y->baseVal()->setValueAsString(KDOM::DOMString("-10%").impl());
  -        return m_y;
       }
   
  -    return m_y;
  +    return m_y.get();
   }
   
   SVGAnimatedLengthImpl *SVGFilterElementImpl::width() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "120%" were specified.
  -    if(!m_width)
  -    {
  +    if (!m_width) {
           lazy_create<SVGAnimatedLengthImpl>(m_width, this, LM_WIDTH, viewportElement());
           m_width->baseVal()->setValueAsString(KDOM::DOMString("120%").impl());
  -        return m_width;
       }
   
  -    return m_width;
  +    return m_width.get();
   }
   
   SVGAnimatedLengthImpl *SVGFilterElementImpl::height() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "120%" were specified.
  -    if(!m_height)
  -    {
  +    if (!m_height) {
           lazy_create<SVGAnimatedLengthImpl>(m_height, this, LM_HEIGHT, viewportElement());
           m_height->baseVal()->setValueAsString(KDOM::DOMString("120%").impl());
  -        return m_height;
       }
   
  -    return m_height;
  +    return m_height.get();
   }
   
   SVGAnimatedIntegerImpl *SVGFilterElementImpl::filterResX() const
  
  
  
  1.6       +8 -8      SVGSupport/ksvg2/svg/SVGFilterElementImpl.h
  
  Index: SVGFilterElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFilterElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGFilterElementImpl.h	21 Nov 2005 08:29:39 -0000	1.5
  +++ SVGFilterElementImpl.h	26 Nov 2005 22:19:10 -0000	1.6
  @@ -65,14 +65,14 @@
           virtual void parseMappedAttribute(KDOM::MappedAttributeImpl *attr);
   
       private:
  -        mutable SVGAnimatedEnumerationImpl *m_filterUnits;
  -        mutable SVGAnimatedEnumerationImpl *m_primitiveUnits;
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  -        mutable SVGAnimatedIntegerImpl *m_filterResX;
  -        mutable SVGAnimatedIntegerImpl *m_filterResY;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_filterUnits;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_primitiveUnits;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
  +        mutable SharedPtr<SVGAnimatedIntegerImpl> m_filterResX;
  +        mutable SharedPtr<SVGAnimatedIntegerImpl> m_filterResY;
           KCanvasFilter *m_filter;
       };
   };
  
  
  
  1.10      +4 -20     SVGSupport/ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp
  
  Index: SVGFilterPrimitiveStandardAttributesImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGFilterPrimitiveStandardAttributesImpl.cpp	22 Nov 2005 12:03:16 -0000	1.9
  +++ SVGFilterPrimitiveStandardAttributesImpl.cpp	26 Nov 2005 22:19:11 -0000	1.10
  @@ -40,22 +40,10 @@
   SVGFilterPrimitiveStandardAttributesImpl::SVGFilterPrimitiveStandardAttributesImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledElementImpl(tagName, doc)
   {
  -    m_x = m_y = m_width = m_height = 0;
  -    m_result = 0;
   }
   
   SVGFilterPrimitiveStandardAttributesImpl::~SVGFilterPrimitiveStandardAttributesImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
  -    if(m_result)
  -        m_result->deref();
   }
   
   SVGAnimatedLengthImpl *SVGFilterPrimitiveStandardAttributesImpl::x() const
  @@ -73,27 +61,23 @@
   SVGAnimatedLengthImpl *SVGFilterPrimitiveStandardAttributesImpl::width() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "100%" were specified.
  -    if(!m_width)
  -    {
  +    if (!m_width) {
           lazy_create<SVGAnimatedLengthImpl>(m_width, this, LM_WIDTH);
           m_width->baseVal()->setValueAsString(KDOM::DOMString("100%").impl());
  -        return m_width;
       }
   
  -    return m_width;
  +    return m_width.get();
   }
   
   SVGAnimatedLengthImpl *SVGFilterPrimitiveStandardAttributesImpl::height() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "100%" were specified.
  -    if(!m_height)
  -    {
  +    if (!m_height) {
           lazy_create<SVGAnimatedLengthImpl>(m_height, this, LM_HEIGHT);
           m_height->baseVal()->setValueAsString(KDOM::DOMString("100%").impl());
  -        return m_height;
       }
   
  -    return m_height;
  +    return m_height.get();
   }
   
   SVGAnimatedStringImpl *SVGFilterPrimitiveStandardAttributesImpl::result() const
  
  
  
  1.7       +5 -5      SVGSupport/ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h
  
  Index: SVGFilterPrimitiveStandardAttributesImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGFilterPrimitiveStandardAttributesImpl.h	22 Nov 2005 00:09:04 -0000	1.6
  +++ SVGFilterPrimitiveStandardAttributesImpl.h	26 Nov 2005 22:19:11 -0000	1.7
  @@ -55,11 +55,11 @@
           void setStandardAttributes(KCanvasFilterEffect *filterEffect) const;
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  -        mutable SVGAnimatedStringImpl *m_result;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_result;
       };
   };
   
  
  
  
  1.11      +2 -12     SVGSupport/ksvg2/svg/SVGGradientElementImpl.cpp
  
  Index: SVGGradientElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGGradientElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGGradientElementImpl.cpp	22 Nov 2005 02:22:07 -0000	1.10
  +++ SVGGradientElementImpl.cpp	26 Nov 2005 22:19:11 -0000	1.11
  @@ -43,31 +43,21 @@
   
   SVGGradientElementImpl::SVGGradientElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGStyledElementImpl(tagName, doc), SVGURIReferenceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_spreadMethod = 0;
  -    m_gradientUnits = 0;
  -    m_gradientTransform = 0;
       m_resource = 0;
   }
   
   SVGGradientElementImpl::~SVGGradientElementImpl()
   {
  -    if(m_gradientUnits)
  -        m_gradientUnits->deref();
  -    if(m_gradientTransform)
  -        m_gradientTransform->deref();
  -    if(m_spreadMethod)
  -        m_spreadMethod->deref();
   }
   
   SVGAnimatedEnumerationImpl *SVGGradientElementImpl::gradientUnits() const
   {
  -    if(!m_gradientUnits)
  -    {
  +    if (!m_gradientUnits) {
           lazy_create<SVGAnimatedEnumerationImpl>(m_gradientUnits, this);
           m_gradientUnits->setBaseVal(SVG_UNIT_TYPE_OBJECTBOUNDINGBOX);
       }
       
  -    return m_gradientUnits;
  +    return m_gradientUnits.get();
   }
   
   SVGAnimatedTransformListImpl *SVGGradientElementImpl::gradientTransform() const
  
  
  
  1.6       +3 -3      SVGSupport/ksvg2/svg/SVGGradientElementImpl.h
  
  Index: SVGGradientElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGGradientElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGGradientElementImpl.h	21 Nov 2005 08:29:40 -0000	1.5
  +++ SVGGradientElementImpl.h	26 Nov 2005 22:19:11 -0000	1.6
  @@ -60,9 +60,9 @@
           void rebuildStops() const;
   
       protected:
  -        mutable SVGAnimatedEnumerationImpl *m_spreadMethod;
  -        mutable SVGAnimatedEnumerationImpl *m_gradientUnits;
  -        mutable SVGAnimatedTransformListImpl *m_gradientTransform;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_spreadMethod;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_gradientUnits;
  +        mutable SharedPtr<SVGAnimatedTransformListImpl> m_gradientTransform;
           mutable KRenderingPaintServerGradient *m_resource;
       };
   };
  
  
  
  1.4       +14 -31    SVGSupport/ksvg2/svg/SVGHelper.h
  
  Index: SVGHelper.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGHelper.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SVGHelper.h	1 Sep 2005 07:35:43 -0000	1.3
  +++ SVGHelper.h	26 Nov 2005 22:19:12 -0000	1.4
  @@ -24,6 +24,7 @@
   #define KSVG_SVGHelper_H
   
   #include <qstring.h>
  +#include <kxmlcore/SharedPtr.h>
   
   namespace KSVG
   {
  @@ -49,75 +50,57 @@
   
       // Lazy creation, template-based
       template<class T>
  -    T *lazy_create(T *&variable)
  +    T *lazy_create(SharedPtr<T> &variable)
       { 
           if(!variable)
  -        {
               variable = new T();
  -            variable->ref();
  -        }
   
  -        return variable;
  +        return variable.get();
       }
   
       template<class T, class Arg1>
  -    T *lazy_create(T *&variable, Arg1 arg1)
  +    T *lazy_create(SharedPtr<T> &variable, Arg1 arg1)
       { 
           if(!variable)
  -        {
               variable = new T(arg1);
  -            variable->ref();
  -        }
   
  -        return variable;
  +        return variable.get();
       }
   
       template<class T, class Arg1, class Arg2>
  -    T *lazy_create(T *&variable, Arg1 arg1, Arg2 arg2)
  +    T *lazy_create(SharedPtr<T> &variable, Arg1 arg1, Arg2 arg2)
       { 
           if(!variable)
  -        {
               variable = new T(arg1, arg2);
  -            variable->ref();
  -        }
  -
  -        return variable;
  +        
  +        return variable.get();
       }
   
       template<class T, class Arg1, class Arg2, class Arg3>
  -    T *lazy_create(T *&variable, Arg1 arg1, Arg2 arg2, Arg3 arg3)
  +    T *lazy_create(SharedPtr<T> &variable, Arg1 arg1, Arg2 arg2, Arg3 arg3)
       { 
           if(!variable)
  -        {
               variable = new T(arg1, arg2, arg3);
  -            variable->ref();
  -        }
   
  -        return variable;
  +        return variable.get();
       }
   
       template<class T, class Arg1, class Arg2, class Arg3, class Arg4>
  -    T *lazy_create(T *&variable, Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4)
  +    T *lazy_create(SharedPtr<T> &variable, Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4)
       { 
           if(!variable)
  -        {
               variable = new T(arg1, arg2, arg3, arg4);
  -            variable->ref();
  -        }
   
  -        return variable;
  +        return variable.get();
       }
   
       template<class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
  -    T *lazy_create(T *&variable, Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5)
  +    T *lazy_create(SharedPtr<T> &variable, Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5)
       { 
           if(!variable)
  -        {
               variable = new T(arg1, arg2, arg3, arg4, arg5);
  -            variable->ref();
  -        }
   
  -        return variable;
  +        return variable.get();
       }
   };
   
  
  
  
  1.11      +0 -15     SVGSupport/ksvg2/svg/SVGImageElementImpl.cpp
  
  Index: SVGImageElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGImageElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGImageElementImpl.cpp	23 Nov 2005 15:14:09 -0000	1.10
  +++ SVGImageElementImpl.cpp	26 Nov 2005 22:19:12 -0000	1.11
  @@ -66,27 +66,12 @@
   SVGImageElementImpl::SVGImageElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl(), SVGURIReferenceImpl(), KDOM::CachedObjectClient()
   {
  -    m_x = m_y = m_width = m_height = 0;
  -    m_preserveAspectRatio = 0;
       //m_cachedDocument = 0;
       m_cachedImage = 0;
  -    m_svgDoc = 0;
   }
   
   SVGImageElementImpl::~SVGImageElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
  -    if(m_preserveAspectRatio)
  -        m_preserveAspectRatio->deref();
  -    if(m_svgDoc)
  -        m_svgDoc->deref();
   }
   
   SVGAnimatedLengthImpl *SVGImageElementImpl::x() const
  
  
  
  1.7       +6 -6      SVGSupport/ksvg2/svg/SVGImageElementImpl.h
  
  Index: SVGImageElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGImageElementImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGImageElementImpl.h	23 Nov 2005 15:14:09 -0000	1.6
  +++ SVGImageElementImpl.h	26 Nov 2005 22:19:12 -0000	1.7
  @@ -68,14 +68,14 @@
           virtual void notifyFinished(KDOM::CachedObject *finishedObj);
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  -        mutable SVGAnimatedPreserveAspectRatioImpl *m_preserveAspectRatio;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
  +        mutable SharedPtr<SVGAnimatedPreserveAspectRatioImpl> m_preserveAspectRatio;
           //mutable KDOM::CachedDocument *m_cachedDocument;
           KDOM::CachedImage *m_cachedImage;
  -        SVGDocumentImpl *m_svgDoc;
  +        SharedPtr<SVGDocumentImpl> m_svgDoc;
       };
   };
   
  
  
  
  1.8       +0 -9      SVGSupport/ksvg2/svg/SVGLineElementImpl.cpp
  
  Index: SVGLineElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGLineElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGLineElementImpl.cpp	21 Nov 2005 08:29:40 -0000	1.7
  +++ SVGLineElementImpl.cpp	26 Nov 2005 22:19:12 -0000	1.8
  @@ -36,19 +36,10 @@
   SVGLineElementImpl::SVGLineElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_x1 = m_y1 = m_x2 = m_y2 = 0;
   }
   
   SVGLineElementImpl::~SVGLineElementImpl()
   {
  -    if(m_x1)
  -        m_x1->deref();
  -    if(m_y1)
  -        m_y1->deref();
  -    if(m_x2)
  -        m_x2->deref();
  -    if(m_y2)
  -        m_y2->deref();
   }
   
   SVGAnimatedLengthImpl *SVGLineElementImpl::x1() const
  
  
  
  1.6       +4 -4      SVGSupport/ksvg2/svg/SVGLineElementImpl.h
  
  Index: SVGLineElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGLineElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGLineElementImpl.h	21 Nov 2005 08:29:40 -0000	1.5
  +++ SVGLineElementImpl.h	26 Nov 2005 22:19:12 -0000	1.6
  @@ -54,10 +54,10 @@
           virtual const SVGStyledElementImpl *pushAttributeContext(const SVGStyledElementImpl *context);
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x1;
  -        mutable SVGAnimatedLengthImpl *m_y1;
  -        mutable SVGAnimatedLengthImpl *m_x2;
  -        mutable SVGAnimatedLengthImpl *m_y2;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x1;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y1;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x2;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y2;
       };
   };
   
  
  
  
  1.9       +2 -13     SVGSupport/ksvg2/svg/SVGLinearGradientElementImpl.cpp
  
  Index: SVGLinearGradientElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGLinearGradientElementImpl.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGLinearGradientElementImpl.cpp	21 Nov 2005 08:29:40 -0000	1.8
  +++ SVGLinearGradientElementImpl.cpp	26 Nov 2005 22:19:12 -0000	1.9
  @@ -45,19 +45,10 @@
   
   SVGLinearGradientElementImpl::SVGLinearGradientElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGGradientElementImpl(tagName, doc)
   {
  -    m_x1 = m_y1 = m_x2 = m_y2 = 0;
   }
   
   SVGLinearGradientElementImpl::~SVGLinearGradientElementImpl()
   {
  -    if(m_x1)
  -        m_x1->deref();
  -    if(m_y1)
  -        m_y1->deref();
  -    if(m_x2)
  -        m_x2->deref();
  -    if(m_y2)
  -        m_y2->deref();
   }
   
   SVGAnimatedLengthImpl *SVGLinearGradientElementImpl::x1() const
  @@ -75,14 +66,12 @@
   SVGAnimatedLengthImpl *SVGLinearGradientElementImpl::x2() const
   {
       // Spec : If the attribute is not specified, the effect is as if a value of "100%" were specified.
  -    if(!m_x2)
  -    {
  +    if (!m_x2) {
           lazy_create<SVGAnimatedLengthImpl>(m_x2, this, LM_WIDTH, viewportElement());
           m_x2->baseVal()->setValue(1.0);
  -        return m_x2;
       }
   
  -    return m_x2;
  +    return m_x2.get();
   }
   
   SVGAnimatedLengthImpl *SVGLinearGradientElementImpl::y2() const
  
  
  
  1.6       +4 -4      SVGSupport/ksvg2/svg/SVGLinearGradientElementImpl.h
  
  Index: SVGLinearGradientElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGLinearGradientElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGLinearGradientElementImpl.h	21 Nov 2005 08:29:40 -0000	1.5
  +++ SVGLinearGradientElementImpl.h	26 Nov 2005 22:19:13 -0000	1.6
  @@ -47,10 +47,10 @@
           virtual KCPaintServerType gradientType() const { return PS_LINEAR_GRADIENT; }
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x1;
  -        mutable SVGAnimatedLengthImpl *m_y1;
  -        mutable SVGAnimatedLengthImpl *m_x2;
  -        mutable SVGAnimatedLengthImpl *m_y2;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x1;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y1;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x2;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y2;
       };
   };
   
  
  
  
  1.9       +2 -20     SVGSupport/ksvg2/svg/SVGMarkerElementImpl.cpp
  
  Index: SVGMarkerElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGMarkerElementImpl.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGMarkerElementImpl.cpp	23 Nov 2005 15:14:09 -0000	1.8
  +++ SVGMarkerElementImpl.cpp	26 Nov 2005 22:19:13 -0000	1.9
  @@ -48,28 +48,11 @@
   : SVGStyledElementImpl(tagName, doc), SVGLangSpaceImpl(),
     SVGExternalResourcesRequiredImpl(), SVGFitToViewBoxImpl()
   {
  -    m_refX = m_refY = m_markerWidth = m_markerHeight = 0;
  -    m_markerUnits = m_orientType = 0;
  -    m_orientAngle = 0;
       m_marker = 0;
   }
   
   SVGMarkerElementImpl::~SVGMarkerElementImpl()
   {
  -    if(m_refX)
  -        m_refX->deref();
  -    if(m_refY)
  -        m_refY->deref();
  -    if(m_markerUnits)
  -        m_markerUnits->deref();
  -    if(m_markerWidth)
  -        m_markerWidth->deref();
  -    if(m_markerHeight)
  -        m_markerHeight->deref();
  -    if(m_orientType)
  -        m_orientType->deref();
  -    if(m_orientAngle)
  -        m_orientAngle->deref();
   }
   
   void SVGMarkerElementImpl::parseMappedAttribute(KDOM::MappedAttributeImpl *attr)
  @@ -116,13 +99,12 @@
   
   SVGAnimatedEnumerationImpl *SVGMarkerElementImpl::markerUnits() const
   {
  -    if(!m_markerUnits)
  -    {
  +    if (!m_markerUnits) {
           lazy_create<SVGAnimatedEnumerationImpl>(m_markerUnits, this);
           m_markerUnits->setBaseVal(SVG_MARKERUNITS_STROKEWIDTH);
       }
   
  -    return m_markerUnits;
  +    return m_markerUnits.get();
   }
   
   SVGAnimatedLengthImpl *SVGMarkerElementImpl::markerWidth() const
  
  
  
  1.6       +7 -7      SVGSupport/ksvg2/svg/SVGMarkerElementImpl.h
  
  Index: SVGMarkerElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGMarkerElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGMarkerElementImpl.h	21 Nov 2005 08:29:41 -0000	1.5
  +++ SVGMarkerElementImpl.h	26 Nov 2005 22:19:13 -0000	1.6
  @@ -69,13 +69,13 @@
           virtual KCanvasMarker *canvasResource();
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_refX;
  -        mutable SVGAnimatedLengthImpl *m_refY;
  -        mutable SVGAnimatedLengthImpl *m_markerWidth;
  -        mutable SVGAnimatedLengthImpl *m_markerHeight;
  -        mutable SVGAnimatedEnumerationImpl *m_markerUnits;
  -        mutable SVGAnimatedEnumerationImpl *m_orientType;
  -        mutable SVGAnimatedAngleImpl *m_orientAngle;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_refX;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_refY;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_markerWidth;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_markerHeight;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_markerUnits;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_orientType;
  +        mutable SharedPtr<SVGAnimatedAngleImpl> m_orientAngle;
           KCanvasMarker *m_marker;
       };
   };
  
  
  
  1.7       +7 -9      SVGSupport/ksvg2/svg/SVGPaintImpl.cpp
  
  Index: SVGPaintImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPaintImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGPaintImpl.cpp	21 Nov 2005 08:29:41 -0000	1.6
  +++ SVGPaintImpl.cpp	26 Nov 2005 22:19:13 -0000	1.7
  @@ -26,23 +26,23 @@
   
   using namespace KSVG;
   
  -SVGPaintImpl::SVGPaintImpl() : SVGColorImpl(), m_uri(0)
  +SVGPaintImpl::SVGPaintImpl() : SVGColorImpl()
   {
       m_paintType = SVG_PAINTTYPE_UNKNOWN;
   }
   
  -SVGPaintImpl::SVGPaintImpl(KDOM::DOMStringImpl *uri) : SVGColorImpl(), m_uri(0)
  +SVGPaintImpl::SVGPaintImpl(KDOM::DOMStringImpl *uri) : SVGColorImpl()
   {
       m_paintType = SVG_PAINTTYPE_URI;
       setUri(uri);
   }
   
  -SVGPaintImpl::SVGPaintImpl(unsigned short paintType) : SVGColorImpl(), m_uri(0)
  +SVGPaintImpl::SVGPaintImpl(unsigned short paintType) : SVGColorImpl()
   {
       m_paintType = paintType;
   }
   
  -SVGPaintImpl::SVGPaintImpl(unsigned short paintType, KDOM::DOMStringImpl *uri, KDOM::DOMStringImpl *rgbPaint, KDOM::DOMStringImpl *) : SVGColorImpl(rgbPaint), m_uri(0)
  +SVGPaintImpl::SVGPaintImpl(unsigned short paintType, KDOM::DOMStringImpl *uri, KDOM::DOMStringImpl *rgbPaint, KDOM::DOMStringImpl *) : SVGColorImpl(rgbPaint)
   {
       m_paintType = paintType;
       setUri(uri);
  @@ -50,8 +50,6 @@
   
   SVGPaintImpl::~SVGPaintImpl()
   {
  -    if(m_uri)
  -        m_uri->deref();
   }
   
   unsigned short SVGPaintImpl::paintType() const
  @@ -61,12 +59,12 @@
   
   KDOM::DOMStringImpl *SVGPaintImpl::uri() const
   {
  -    return m_uri;
  +    return m_uri.impl();
   }
   
   void SVGPaintImpl::setUri(KDOM::DOMStringImpl *uri)
   {
  -    KDOM::KDOM_SAFE_SET(m_uri, uri);
  +    m_uri = uri;
   }
   
   void SVGPaintImpl::setPaint(unsigned short paintType, KDOM::DOMStringImpl *uri, KDOM::DOMStringImpl *rgbPaint, KDOM::DOMStringImpl *)
  @@ -86,7 +84,7 @@
       else if(m_paintType == SVG_PAINTTYPE_CURRENTCOLOR)
           return "currentColor";
       else if(m_paintType == SVG_PAINTTYPE_URI)
  -        return KDOM::DOMString(QString::fromLatin1("url(") + KDOM::DOMString(m_uri).qstring() + QString::fromLatin1(")"));
  +        return KDOM::DOMString(QString::fromLatin1("url(") + m_uri.qstring() + QString::fromLatin1(")"));
   
       return SVGColorImpl::cssText();
   }
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGPaintImpl.h
  
  Index: SVGPaintImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPaintImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGPaintImpl.h	21 Nov 2005 08:29:41 -0000	1.5
  +++ SVGPaintImpl.h	26 Nov 2005 22:19:13 -0000	1.6
  @@ -49,7 +49,7 @@
   
       private:
           unsigned short m_paintType;
  -        KDOM::DOMStringImpl *m_uri;
  +        KDOM::DOMString m_uri;
       };
   };
   
  
  
  
  1.8       +1 -8      SVGSupport/ksvg2/svg/SVGPathElementImpl.cpp
  
  Index: SVGPathElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPathElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGPathElementImpl.cpp	21 Nov 2005 08:29:41 -0000	1.7
  +++ SVGPathElementImpl.cpp	26 Nov 2005 22:19:13 -0000	1.8
  @@ -51,17 +51,10 @@
   SVGPathElementImpl::SVGPathElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl(), SVGPathParser()
   {
  -    m_pathLength = 0;
  -    m_pathSegList = 0;
   }
   
   SVGPathElementImpl::~SVGPathElementImpl()
   {
  -    if(m_pathSegList)
  -        m_pathSegList->deref();
  -
  -    if(m_pathLength)
  -        m_pathLength->deref();
   }
   
   SVGAnimatedNumberImpl *SVGPathElementImpl::pathLength() const
  @@ -72,7 +65,7 @@
           m_pathLength->setBaseVal(0);
       }
       
  -    return m_pathLength;
  +    return m_pathLength.get();
   }
   
   double SVGPathElementImpl::getTotalLength()
  
  
  
  1.6       +2 -2      SVGSupport/ksvg2/svg/SVGPathElementImpl.h
  
  Index: SVGPathElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPathElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGPathElementImpl.h	21 Nov 2005 08:29:41 -0000	1.5
  +++ SVGPathElementImpl.h	26 Nov 2005 22:19:14 -0000	1.6
  @@ -102,8 +102,8 @@
           virtual KCPathDataList toPathData() const;
   
       private:
  -        mutable SVGPathSegListImpl *m_pathSegList;
  -        mutable SVGAnimatedNumberImpl *m_pathLength;
  +        mutable SharedPtr<SVGPathSegListImpl> m_pathSegList;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_pathLength;
   
           virtual void svgMoveTo(double x1, double y1, bool closed, bool abs = true);
           virtual void svgLineTo(double x1, double y1, bool abs = true);
  
  
  
  1.12      +6 -29     SVGSupport/ksvg2/svg/SVGPatternElementImpl.cpp
  
  Index: SVGPatternElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPatternElementImpl.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SVGPatternElementImpl.cpp	23 Nov 2005 15:14:09 -0000	1.11
  +++ SVGPatternElementImpl.cpp	26 Nov 2005 22:19:14 -0000	1.12
  @@ -50,11 +50,6 @@
   
   SVGPatternElementImpl::SVGPatternElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGStyledLocatableElementImpl(tagName, doc), SVGURIReferenceImpl(), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl(), SVGFitToViewBoxImpl(), KCanvasResourceListener()
   {
  -    m_patternUnits = 0;
  -    m_patternTransform = 0;
  -    m_patternContentUnits = 0;
  -    m_x = m_y = m_width = m_height = 0;
  -
       m_tile = 0;
       m_paintServer = 0;
       m_ignoreAttributeChanges = false;
  @@ -62,42 +57,26 @@
   
   SVGPatternElementImpl::~SVGPatternElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
  -    if(m_patternUnits)
  -        m_patternUnits->deref();
  -    if(m_patternContentUnits)
  -        m_patternContentUnits->deref();
  -    if(m_patternTransform)
  -        m_patternTransform->deref();
   }
   
   SVGAnimatedEnumerationImpl *SVGPatternElementImpl::patternUnits() const
   {
  -    if(!m_patternUnits)
  -    {
  +    if (!m_patternUnits) {
           lazy_create<SVGAnimatedEnumerationImpl>(m_patternUnits, this);
           m_patternUnits->setBaseVal(SVG_UNIT_TYPE_OBJECTBOUNDINGBOX);
       }
   
  -    return m_patternUnits;
  +    return m_patternUnits.get();
   }
   
   SVGAnimatedEnumerationImpl *SVGPatternElementImpl::patternContentUnits() const
   {
  -    if(!m_patternContentUnits)
  -    {
  +    if (!m_patternContentUnits) {
           lazy_create<SVGAnimatedEnumerationImpl>(m_patternContentUnits, this);
           m_patternContentUnits->setBaseVal(SVG_UNIT_TYPE_USERSPACEONUSE);
       }
   
  -    return m_patternContentUnits;
  +    return m_patternContentUnits.get();
   }
   
   SVGAnimatedLengthImpl *SVGPatternElementImpl::x() const
  @@ -392,12 +371,10 @@
       SVGMatrixImpl *mat = SVGSVGElementImpl::createSVGMatrix();
       if(mat)
       {
  -        SVGMatrixImpl *viewBox = viewBoxToViewTransform(width()->baseVal()->value(),
  +        SharedPtr<SVGMatrixImpl> viewBox = viewBoxToViewTransform(width()->baseVal()->value(),
                                                           height()->baseVal()->value());
   
  -        viewBox->ref();
  -        mat->multiply(viewBox);
  -        viewBox->deref();
  +        mat->multiply(viewBox.get());
       }
   
       return mat;
  
  
  
  1.7       +7 -7      SVGSupport/ksvg2/svg/SVGPatternElementImpl.h
  
  Index: SVGPatternElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPatternElementImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGPatternElementImpl.h	22 Nov 2005 00:09:06 -0000	1.6
  +++ SVGPatternElementImpl.h	26 Nov 2005 22:19:14 -0000	1.7
  @@ -84,15 +84,15 @@
           virtual SVGMatrixImpl *getCTM() const;
   
       protected:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
           
  -        mutable SVGAnimatedEnumerationImpl *m_patternUnits;
  -        mutable SVGAnimatedEnumerationImpl *m_patternContentUnits;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_patternUnits;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_patternContentUnits;
   
  -        mutable SVGAnimatedTransformListImpl *m_patternTransform;
  +        mutable SharedPtr<SVGAnimatedTransformListImpl> m_patternTransform;
   
           mutable KCanvasImage *m_tile;
           mutable bool m_ignoreAttributeChanges;
  
  
  
  1.8       +0 -3      SVGSupport/ksvg2/svg/SVGPolyElementImpl.cpp
  
  Index: SVGPolyElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPolyElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGPolyElementImpl.cpp	21 Nov 2005 08:29:41 -0000	1.7
  +++ SVGPolyElementImpl.cpp	26 Nov 2005 22:19:14 -0000	1.8
  @@ -35,13 +35,10 @@
   SVGPolyElementImpl::SVGPolyElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl(), SVGAnimatedPointsImpl(), SVGPolyParser()
   {
  -    m_points = 0;
   }
   
   SVGPolyElementImpl::~SVGPolyElementImpl()
   {
  -    if(m_points)
  -        m_points->deref();
   }
   
   SVGPointListImpl *SVGPolyElementImpl::points() const
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGPolyElementImpl.h
  
  Index: SVGPolyElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPolyElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGPolyElementImpl.h	21 Nov 2005 08:29:41 -0000	1.5
  +++ SVGPolyElementImpl.h	26 Nov 2005 22:19:14 -0000	1.6
  @@ -54,7 +54,7 @@
           virtual void notifyAttributeChange() const;
   
       private:
  -        mutable SVGPointListImpl *m_points;
  +        mutable SharedPtr<SVGPointListImpl> m_points;
   
           virtual void svgPolyTo(double x1, double y1, int nr) const;
       };
  
  
  
  1.8       +6 -20     SVGSupport/ksvg2/svg/SVGRadialGradientElementImpl.cpp
  
  Index: SVGRadialGradientElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGRadialGradientElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGRadialGradientElementImpl.cpp	21 Nov 2005 08:29:41 -0000	1.7
  +++ SVGRadialGradientElementImpl.cpp	26 Nov 2005 22:19:14 -0000	1.8
  @@ -46,45 +46,32 @@
   
   SVGRadialGradientElementImpl::SVGRadialGradientElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGGradientElementImpl(tagName, doc)
   {
  -    m_cx = m_cy = m_fx = m_fy = m_r = 0;
   }
   
   SVGRadialGradientElementImpl::~SVGRadialGradientElementImpl()
   {
  -    if(m_cx)
  -        m_cx->deref();
  -    if(m_cy)
  -        m_cy->deref();
  -    if(m_fx)
  -        m_fx->deref();
  -    if(m_fy)
  -        m_fy->deref();
  -    if(m_r)
  -        m_r->deref();
   }
   
   SVGAnimatedLengthImpl *SVGRadialGradientElementImpl::cx() const
   {
       // Spec: If the attribute is not specified, the effect is as if a value of "50%" were specified.
  -    if(!m_cx)
  -    {
  +    if (!m_cx) {
           lazy_create<SVGAnimatedLengthImpl>(m_cx, this, LM_WIDTH, viewportElement());
           m_cx->baseVal()->setValue(0.5);
       }
   
  -    return m_cx;
  +    return m_cx.get();
   }
   
   SVGAnimatedLengthImpl *SVGRadialGradientElementImpl::cy() const
   {
       // Spec: If the attribute is not specified, the effect is as if a value of "50%" were specified.
  -    if(!m_cy)
  -    {
  +    if (!m_cy) {
           lazy_create<SVGAnimatedLengthImpl>(m_cy, this, LM_HEIGHT, viewportElement());
           m_cy->baseVal()->setValue(0.5);
       }
   
  -    return m_cy;
  +    return m_cy.get();
   }
   
   SVGAnimatedLengthImpl *SVGRadialGradientElementImpl::fx() const
  @@ -100,13 +87,12 @@
   SVGAnimatedLengthImpl *SVGRadialGradientElementImpl::r() const
   {
       // Spec: If the attribute is not specified, the effect is as if a value of "50%" were specified.
  -    if(!m_r)
  -    {
  +    if (!m_r) {
           lazy_create<SVGAnimatedLengthImpl>(m_r, this, LM_OTHER, viewportElement());
           m_r->baseVal()->setValue(0.5);
       }
   
  -    return m_r;
  +    return m_r.get();
   }
   
   void SVGRadialGradientElementImpl::parseMappedAttribute(KDOM::MappedAttributeImpl *attr)
  
  
  
  1.6       +5 -5      SVGSupport/ksvg2/svg/SVGRadialGradientElementImpl.h
  
  Index: SVGRadialGradientElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGRadialGradientElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGRadialGradientElementImpl.h	21 Nov 2005 08:29:41 -0000	1.5
  +++ SVGRadialGradientElementImpl.h	26 Nov 2005 22:19:15 -0000	1.6
  @@ -48,11 +48,11 @@
           virtual KCPaintServerType gradientType() const { return PS_RADIAL_GRADIENT; }
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_cx;
  -        mutable SVGAnimatedLengthImpl *m_cy;
  -        mutable SVGAnimatedLengthImpl *m_r;
  -        mutable SVGAnimatedLengthImpl *m_fx;
  -        mutable SVGAnimatedLengthImpl *m_fy;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_cx;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_cy;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_r;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_fx;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_fy;
       };
   };
   
  
  
  
  1.8       +0 -13     SVGSupport/ksvg2/svg/SVGRectElementImpl.cpp
  
  Index: SVGRectElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGRectElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGRectElementImpl.cpp	21 Nov 2005 08:29:41 -0000	1.7
  +++ SVGRectElementImpl.cpp	26 Nov 2005 22:19:15 -0000	1.8
  @@ -40,23 +40,10 @@
   SVGRectElementImpl::SVGRectElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_x = m_y = m_rx = m_ry = m_width = m_height = 0;
   }
   
   SVGRectElementImpl::~SVGRectElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
  -    if(m_rx)
  -        m_rx->deref();
  -    if(m_ry)
  -        m_ry->deref();
   }
   
   SVGAnimatedLengthImpl *SVGRectElementImpl::x() const
  
  
  
  1.6       +6 -6      SVGSupport/ksvg2/svg/SVGRectElementImpl.h
  
  Index: SVGRectElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGRectElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGRectElementImpl.h	21 Nov 2005 08:29:41 -0000	1.5
  +++ SVGRectElementImpl.h	26 Nov 2005 22:19:15 -0000	1.6
  @@ -58,12 +58,12 @@
           virtual const SVGStyledElementImpl *pushAttributeContext(const SVGStyledElementImpl *context);
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  -        mutable SVGAnimatedLengthImpl *m_rx;
  -        mutable SVGAnimatedLengthImpl *m_ry;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_rx;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_ry;
       };
   };
   
  
  
  
  1.12      +5 -18     SVGSupport/ksvg2/svg/SVGSVGElementImpl.cpp
  
  Index: SVGSVGElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGSVGElementImpl.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SVGSVGElementImpl.cpp	23 Nov 2005 15:14:09 -0000	1.11
  +++ SVGSVGElementImpl.cpp	26 Nov 2005 22:19:15 -0000	1.12
  @@ -67,20 +67,11 @@
     SVGZoomAndPanImpl()
   {
       m_useCurrentView = false;
  -    m_x = m_y = m_width = m_height = 0;
       m_timeScheduler = new TimeScheduler(getDocument());
   }
   
   SVGSVGElementImpl::~SVGSVGElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
       delete m_timeScheduler;
   }
   
  @@ -98,28 +89,26 @@
   
   SVGAnimatedLengthImpl *SVGSVGElementImpl::width() const
   {
  -    if(!m_width)
  -    {
  +    if (!m_width) {
           KDOM::DOMString temp("100%");
           const SVGElementImpl *viewport = ownerDocument()->documentElement() == this ? this : viewportElement();
           lazy_create<SVGAnimatedLengthImpl>(m_width, (SVGStyledElementImpl *)0, LM_WIDTH, viewport);
           m_width->baseVal()->setValueAsString(temp.impl());
       }
   
  -    return m_width;
  +    return m_width.get();
   }
   
   SVGAnimatedLengthImpl *SVGSVGElementImpl::height() const
   {
  -    if(!m_height)
  -    {
  +    if (!m_height) {
           KDOM::DOMString temp("100%");
           const SVGElementImpl *viewport = ownerDocument()->documentElement() == this ? this : viewportElement();
           lazy_create<SVGAnimatedLengthImpl>(m_height, (SVGStyledElementImpl *)0, LM_HEIGHT, viewport);
           m_height->baseVal()->setValueAsString(temp.impl());
       }
   
  -    return m_height;
  +    return m_height.get();
   }
   
   KDOM::AtomicString SVGSVGElementImpl::contentScriptType() const
  @@ -149,11 +138,9 @@
       double _y = y()->baseVal()->value();
       double w = width()->baseVal()->value();
       double h = height()->baseVal()->value();
  -    SVGMatrixImpl *viewBox = viewBoxToViewTransform(w, h);
  -    viewBox->ref();
  +    SharedPtr<SVGMatrixImpl> viewBox = viewBoxToViewTransform(w, h);
       viewBox->qmatrix().map(_x, _y, &_x, &_y);
       viewBox->qmatrix().map(w, h, &w, &h);
  -    viewBox->deref();
       ret->setX(_x);
       ret->setY(_y);
       ret->setWidth(w);
  
  
  
  1.9       +4 -4      SVGSupport/ksvg2/svg/SVGSVGElementImpl.h
  
  Index: SVGSVGElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGSVGElementImpl.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGSVGElementImpl.h	21 Nov 2005 08:29:41 -0000	1.8
  +++ SVGSVGElementImpl.h	26 Nov 2005 22:19:15 -0000	1.9
  @@ -133,10 +133,10 @@
           TimeScheduler *timeScheduler() const { return m_timeScheduler; }
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
   
           bool m_useCurrentView;
   
  
  
  
  1.11      +4 -9      SVGSupport/ksvg2/svg/SVGScriptElementImpl.cpp
  
  Index: SVGScriptElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGScriptElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGScriptElementImpl.cpp	21 Nov 2005 08:29:41 -0000	1.10
  +++ SVGScriptElementImpl.cpp	26 Nov 2005 22:19:15 -0000	1.11
  @@ -34,23 +34,20 @@
   
   SVGScriptElementImpl::SVGScriptElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGElementImpl(tagName, doc), SVGURIReferenceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_type = 0;
   }
   
   SVGScriptElementImpl::~SVGScriptElementImpl()
   {
  -    if(m_type)
  -        m_type->deref();
   }
   
   KDOM::DOMStringImpl *SVGScriptElementImpl::type() const
   {
  -    return m_type;
  +    return m_type.impl();
   }
   
   void SVGScriptElementImpl::setType(KDOM::DOMStringImpl *type)
   {
  -    KDOM_SAFE_SET(m_type, type);
  +    m_type = type;
   }
   
   void SVGScriptElementImpl::parseMappedAttribute(KDOM::MappedAttributeImpl *attr)
  @@ -114,11 +111,9 @@
       KJS::Interpreter::unlock();
   #endif
   #else
  -    if (jsCode) {
  +    if (jsCode)
           // Hack to close memory leak due to #if 0
  -        jsCode->ref();
  -        jsCode->deref();
  -    }
  +        KDOM::DOMString(jsCode);
   #endif
   }
   
  
  
  
  1.7       +1 -1      SVGSupport/ksvg2/svg/SVGScriptElementImpl.h
  
  Index: SVGScriptElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGScriptElementImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGScriptElementImpl.h	21 Nov 2005 08:29:42 -0000	1.6
  +++ SVGScriptElementImpl.h	26 Nov 2005 22:19:15 -0000	1.7
  @@ -47,7 +47,7 @@
           static void executeScript(KDOM::DocumentImpl *document, KDOM::DOMStringImpl *jsCode);
   
       private:
  -        KDOM::DOMStringImpl *m_type;
  +        KDOM::DOMString m_type;
       };
   };
   
  
  
  
  1.9       +0 -3      SVGSupport/ksvg2/svg/SVGStopElementImpl.cpp
  
  Index: SVGStopElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStopElementImpl.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGStopElementImpl.cpp	21 Nov 2005 08:29:42 -0000	1.8
  +++ SVGStopElementImpl.cpp	26 Nov 2005 22:19:16 -0000	1.9
  @@ -37,13 +37,10 @@
   
   SVGStopElementImpl::SVGStopElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc) : SVGStyledElementImpl(tagName, doc)
   {
  -    m_offset = 0;
   }
   
   SVGStopElementImpl::~SVGStopElementImpl()
   {
  -    if(m_offset)
  -        m_offset->deref();
   }
   
   SVGAnimatedNumberImpl *SVGStopElementImpl::offset() const
  
  
  
  1.7       +1 -1      SVGSupport/ksvg2/svg/SVGStopElementImpl.h
  
  Index: SVGStopElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStopElementImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGStopElementImpl.h	22 Nov 2005 00:09:06 -0000	1.6
  +++ SVGStopElementImpl.h	26 Nov 2005 22:19:16 -0000	1.7
  @@ -42,7 +42,7 @@
           virtual void parseMappedAttribute(KDOM::MappedAttributeImpl *attr);
   
       private:
  -        mutable SVGAnimatedNumberImpl *m_offset;
  +        mutable SharedPtr<SVGAnimatedNumberImpl> m_offset;
       };
   };
   
  
  
  
  1.5       +2 -2      SVGSupport/ksvg2/svg/SVGStringListImpl.cpp
  
  Index: SVGStringListImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStringListImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGStringListImpl.cpp	5 Oct 2005 05:35:28 -0000	1.4
  +++ SVGStringListImpl.cpp	26 Nov 2005 22:19:16 -0000	1.5
  @@ -41,13 +41,13 @@
       QStringList list = QStringList::split(' ', str);
       if(list.count() == 0)
       {
  -        KDOM::DOMStringImpl *item = new KDOM::DOMStringImpl(str.ascii());
  +        KDOM::DOMStringImpl *item = new KDOM::DOMStringImpl(str);
           item->ref();
           appendItem(item);
       }
       else for(QStringList::Iterator it = list.begin(); it != list.end(); ++it)
       {
  -        KDOM::DOMStringImpl *item = new KDOM::DOMStringImpl((*it).ascii());
  +        KDOM::DOMStringImpl *item = new KDOM::DOMStringImpl((*it));
           item->ref();
           appendItem(item);
       }
  
  
  
  1.11      +3 -12     SVGSupport/ksvg2/svg/SVGStyledElementImpl.cpp
  
  Index: SVGStyledElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStyledElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGStyledElementImpl.cpp	21 Nov 2005 08:29:42 -0000	1.10
  +++ SVGStyledElementImpl.cpp	26 Nov 2005 22:19:16 -0000	1.11
  @@ -46,6 +46,7 @@
   #include "SVGDOMImplementationImpl.h"
   #include "ksvgcssproperties.h"
   #include "css_base.h"
  +#include "SVGHelper.h"
   
   #include "SVGNames.h"
   #include "HTMLNames.h"
  @@ -53,28 +54,18 @@
   using namespace KSVG;
   
   SVGStyledElementImpl::SVGStyledElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
  -: SVGElementImpl(tagName, doc), m_pa(0), m_className(0)
  +: SVGElementImpl(tagName, doc)
   {
       m_updateVectorial = false;
   }
   
   SVGStyledElementImpl::~SVGStyledElementImpl()
   {
  -    if(m_className)
  -        m_className->deref();
  -    if(m_pa)
  -        m_pa->deref();
   }
   
   SVGAnimatedStringImpl *SVGStyledElementImpl::className() const
   {
  -    if(!m_className)
  -    {
  -        m_className = new SVGAnimatedStringImpl(0); // TODO: use notification context?
  -        m_className->ref();
  -    }
  -
  -    return m_className;
  +    return lazy_create(m_className, (SVGStyledElementImpl *)0); // TODO: use notification context?
   }
   
   khtml::RenderObject *SVGStyledElementImpl::createRenderer(RenderArena *arena, khtml::RenderStyle *style)
  
  
  
  1.9       +2 -2      SVGSupport/ksvg2/svg/SVGStyledElementImpl.h
  
  Index: SVGStyledElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStyledElementImpl.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGStyledElementImpl.h	22 Nov 2005 12:03:17 -0000	1.8
  +++ SVGStyledElementImpl.h	26 Nov 2005 22:19:16 -0000	1.9
  @@ -79,8 +79,8 @@
           void updateCanvasItem(); // Handles "path data" object changes... (not for style/transform!)
   
       private:
  -        mutable KDOM::CSSStyleDeclarationImpl *m_pa;
  -        mutable SVGAnimatedStringImpl *m_className;
  +        mutable SharedPtr<KDOM::CSSStyleDeclarationImpl> m_pa;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_className;
   
           // Optimized updating logic
           bool m_updateVectorial : 1;
  
  
  
  1.4       +3 -9      SVGSupport/ksvg2/svg/SVGStyledTransformableElementImpl.cpp
  
  Index: SVGStyledTransformableElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStyledTransformableElementImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SVGStyledTransformableElementImpl.cpp	22 Nov 2005 23:04:30 -0000	1.3
  +++ SVGStyledTransformableElementImpl.cpp	26 Nov 2005 22:19:16 -0000	1.4
  @@ -43,16 +43,10 @@
   SVGStyledTransformableElementImpl::SVGStyledTransformableElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledLocatableElementImpl(tagName, doc), SVGTransformableImpl()
   {
  -    m_transform = 0;
  -    m_localMatrix = 0;
   }
   
   SVGStyledTransformableElementImpl::~SVGStyledTransformableElementImpl()
   {
  -    if(m_transform)
  -        m_transform->deref();
  -    if(m_localMatrix)
  -        m_localMatrix->deref();
   }
   
   SVGAnimatedTransformListImpl *SVGStyledTransformableElementImpl::transform() const
  @@ -70,7 +64,7 @@
       SVGMatrixImpl *ctm = SVGLocatableImpl::getCTM(this);
   
       if(m_localMatrix)
  -        ctm->multiply(m_localMatrix);
  +        ctm->multiply(m_localMatrix.get());
   
       return ctm;
   }
  @@ -80,7 +74,7 @@
       SVGMatrixImpl *ctm = SVGLocatableImpl::getScreenCTM(this);
   
       if(m_localMatrix)
  -        ctm->multiply(m_localMatrix);
  +        ctm->multiply(m_localMatrix.get());
   
       return ctm;
   }
  @@ -90,7 +84,7 @@
       // Update cached local matrix
       SharedPtr<SVGTransformImpl> localTransform = localTransforms->concatenate();
       if(localTransform) {
  -        KDOM::KDOM_SAFE_SET(m_localMatrix, localTransform->matrix());
  +        m_localMatrix = localTransform->matrix();
           if (renderer()) {
               renderer()->setLocalTransform(m_localMatrix->qmatrix());
               renderer()->setNeedsLayout(true);
  
  
  
  1.2       +2 -2      SVGSupport/ksvg2/svg/SVGStyledTransformableElementImpl.h
  
  Index: SVGStyledTransformableElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStyledTransformableElementImpl.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SVGStyledTransformableElementImpl.h	21 Nov 2005 08:29:42 -0000	1.1
  +++ SVGStyledTransformableElementImpl.h	26 Nov 2005 22:19:17 -0000	1.2
  @@ -68,8 +68,8 @@
           virtual void attach();
   
       protected:
  -        mutable SVGMatrixImpl *m_localMatrix;
  -        mutable SVGAnimatedTransformListImpl *m_transform;
  +        mutable SharedPtr<SVGMatrixImpl> m_localMatrix;
  +        mutable SharedPtr<SVGAnimatedTransformListImpl> m_transform;
       };
   };
   
  
  
  
  1.9       +0 -9      SVGSupport/ksvg2/svg/SVGTestsImpl.cpp
  
  Index: SVGTestsImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTestsImpl.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGTestsImpl.cpp	22 Nov 2005 00:09:06 -0000	1.8
  +++ SVGTestsImpl.cpp	26 Nov 2005 22:19:17 -0000	1.9
  @@ -37,19 +37,10 @@
   
   SVGTestsImpl::SVGTestsImpl()
   {
  -    m_features = 0;
  -    m_extensions = 0;
  -    m_systemLanguage = 0;
   }
   
   SVGTestsImpl::~SVGTestsImpl()
   {
  -    if(m_features)
  -        m_features->deref();
  -    if(m_extensions)
  -        m_extensions->deref();
  -    if(m_systemLanguage)
  -        m_systemLanguage->deref();
   }
   
   SVGStringListImpl *SVGTestsImpl::requiredFeatures() const
  
  
  
  1.7       +5 -3      SVGSupport/ksvg2/svg/SVGTestsImpl.h
  
  Index: SVGTestsImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTestsImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGTestsImpl.h	22 Nov 2005 00:09:07 -0000	1.6
  +++ SVGTestsImpl.h	26 Nov 2005 22:19:17 -0000	1.7
  @@ -23,6 +23,8 @@
   #ifndef KSVG_SVGTestsImpl_H
   #define KSVG_SVGTestsImpl_H
   
  +#include <kxmlcore/SharedPtr.h>
  +
   namespace KDOM
   {
       class DOMStringImpl;
  @@ -51,9 +53,9 @@
           bool parseMappedAttribute(KDOM::MappedAttributeImpl *attr);
   
       private:
  -        mutable SVGStringListImpl *m_features;
  -        mutable SVGStringListImpl *m_extensions;
  -        mutable SVGStringListImpl *m_systemLanguage;
  +        mutable SharedPtr<SVGStringListImpl> m_features;
  +        mutable SharedPtr<SVGStringListImpl> m_extensions;
  +        mutable SharedPtr<SVGStringListImpl> m_systemLanguage;
       };
   };
   
  
  
  
  1.8       +0 -6      SVGSupport/ksvg2/svg/SVGTextContentElementImpl.cpp
  
  Index: SVGTextContentElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTextContentElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGTextContentElementImpl.cpp	21 Nov 2005 08:29:42 -0000	1.7
  +++ SVGTextContentElementImpl.cpp	26 Nov 2005 22:19:17 -0000	1.8
  @@ -35,16 +35,10 @@
   SVGTextContentElementImpl::SVGTextContentElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl()
   {
  -    m_textLength = 0;
  -    m_lengthAdjust = 0;
   }
   
   SVGTextContentElementImpl::~SVGTextContentElementImpl()
   {
  -    if(m_textLength)
  -        m_textLength->deref();
  -    if(m_lengthAdjust)
  -        m_lengthAdjust->deref();
   }
   
   SVGAnimatedLengthImpl *SVGTextContentElementImpl::textLength() const
  
  
  
  1.6       +2 -2      SVGSupport/ksvg2/svg/SVGTextContentElementImpl.h
  
  Index: SVGTextContentElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTextContentElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGTextContentElementImpl.h	21 Nov 2005 08:29:42 -0000	1.5
  +++ SVGTextContentElementImpl.h	26 Nov 2005 22:19:17 -0000	1.6
  @@ -61,8 +61,8 @@
           virtual void parseMappedAttribute(KDOM::MappedAttributeImpl *attr);
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_textLength;
  -        mutable SVGAnimatedEnumerationImpl *m_lengthAdjust;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_textLength;
  +        mutable SharedPtr<SVGAnimatedEnumerationImpl> m_lengthAdjust;
       };
   };
   
  
  
  
  1.8       +0 -12     SVGSupport/ksvg2/svg/SVGTextPositioningElementImpl.cpp
  
  Index: SVGTextPositioningElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTextPositioningElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGTextPositioningElementImpl.cpp	21 Nov 2005 08:29:42 -0000	1.7
  +++ SVGTextPositioningElementImpl.cpp	26 Nov 2005 22:19:17 -0000	1.8
  @@ -35,22 +35,10 @@
   SVGTextPositioningElementImpl::SVGTextPositioningElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGTextContentElementImpl(tagName, doc)
   {
  -    m_x = m_y = m_dx = m_dy = 0;
  -    m_rotate = 0;
   }
   
   SVGTextPositioningElementImpl::~SVGTextPositioningElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_dx)
  -        m_dx->deref();
  -    if(m_dy)
  -        m_dy->deref();
  -    if(m_rotate)
  -        m_rotate->deref();
   }
   
   SVGAnimatedLengthListImpl *SVGTextPositioningElementImpl::x() const
  
  
  
  1.6       +5 -5      SVGSupport/ksvg2/svg/SVGTextPositioningElementImpl.h
  
  Index: SVGTextPositioningElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTextPositioningElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGTextPositioningElementImpl.h	21 Nov 2005 08:29:42 -0000	1.5
  +++ SVGTextPositioningElementImpl.h	26 Nov 2005 22:19:17 -0000	1.6
  @@ -46,11 +46,11 @@
           virtual void parseMappedAttribute(KDOM::MappedAttributeImpl *attr);
   
       private:
  -        mutable SVGAnimatedLengthListImpl *m_x;
  -        mutable SVGAnimatedLengthListImpl *m_y;
  -        mutable SVGAnimatedLengthListImpl *m_dx;
  -        mutable SVGAnimatedLengthListImpl *m_dy;
  -        mutable SVGAnimatedNumberListImpl *m_rotate;
  +        mutable SharedPtr<SVGAnimatedLengthListImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthListImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthListImpl> m_dx;
  +        mutable SharedPtr<SVGAnimatedLengthListImpl> m_dy;
  +        mutable SharedPtr<SVGAnimatedNumberListImpl> m_rotate;
       };
   };
   
  
  
  
  1.8       +2 -5      SVGSupport/ksvg2/svg/SVGTransformImpl.cpp
  
  Index: SVGTransformImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTransformImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGTransformImpl.cpp	21 Nov 2005 08:29:43 -0000	1.7
  +++ SVGTransformImpl.cpp	26 Nov 2005 22:19:18 -0000	1.8
  @@ -33,7 +33,6 @@
   SVGTransformImpl::SVGTransformImpl() : KDOM::Shared<SVGTransformImpl>()
   {
       m_matrix = SVGSVGElementImpl::createSVGMatrix();
  -    m_matrix->ref();
   
       m_type = SVG_TRANSFORM_UNKNOWN;
       m_angle = 0;
  @@ -41,8 +40,6 @@
   
   SVGTransformImpl::~SVGTransformImpl()
   {
  -    if(m_matrix)
  -        m_matrix->deref();
   }
   
   unsigned short SVGTransformImpl::type() const
  @@ -52,7 +49,7 @@
   
   SVGMatrixImpl *SVGTransformImpl::matrix() const
   {
  -    return m_matrix;
  +    return m_matrix.get();
   }
   
   double SVGTransformImpl::angle() const
  @@ -65,7 +62,7 @@
       m_type = SVG_TRANSFORM_MATRIX;
       m_angle = 0;
       
  -    KDOM::KDOM_SAFE_SET(m_matrix, matrix);
  +    m_matrix = matrix;
   }
   
   void SVGTransformImpl::setTranslate(double tx, double ty)
  
  
  
  1.5       +1 -1      SVGSupport/ksvg2/svg/SVGTransformImpl.h
  
  Index: SVGTransformImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTransformImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGTransformImpl.h	24 Oct 2005 06:31:54 -0000	1.4
  +++ SVGTransformImpl.h	26 Nov 2005 22:19:18 -0000	1.5
  @@ -50,7 +50,7 @@
       private:
           double m_angle;
           unsigned short m_type;
  -        SVGMatrixImpl *m_matrix;
  +        SharedPtr<SVGMatrixImpl> m_matrix;
       };
   };
   
  
  
  
  1.9       +0 -3      SVGSupport/ksvg2/svg/SVGURIReferenceImpl.cpp
  
  Index: SVGURIReferenceImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGURIReferenceImpl.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SVGURIReferenceImpl.cpp	22 Nov 2005 12:03:17 -0000	1.8
  +++ SVGURIReferenceImpl.cpp	26 Nov 2005 22:19:18 -0000	1.9
  @@ -34,13 +34,10 @@
   
   SVGURIReferenceImpl::SVGURIReferenceImpl()
   {
  -    m_href = 0;
   }
   
   SVGURIReferenceImpl::~SVGURIReferenceImpl()
   {
  -    if(m_href)
  -        m_href->deref();
   }
   
   SVGAnimatedStringImpl *SVGURIReferenceImpl::href() const
  
  
  
  1.5       +1 -1      SVGSupport/ksvg2/svg/SVGURIReferenceImpl.h
  
  Index: SVGURIReferenceImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGURIReferenceImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGURIReferenceImpl.h	21 Nov 2005 08:29:43 -0000	1.4
  +++ SVGURIReferenceImpl.h	26 Nov 2005 22:19:18 -0000	1.5
  @@ -49,7 +49,7 @@
           static QString getTarget(const QString &url);
   
       private:
  -        mutable SVGAnimatedStringImpl *m_href;
  +        mutable SharedPtr<SVGAnimatedStringImpl> m_href;
       };
   };
   
  
  
  
  1.11      +0 -9      SVGSupport/ksvg2/svg/SVGUseElementImpl.cpp
  
  Index: SVGUseElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGUseElementImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SVGUseElementImpl.cpp	21 Nov 2005 08:29:43 -0000	1.10
  +++ SVGUseElementImpl.cpp	26 Nov 2005 22:19:18 -0000	1.11
  @@ -47,19 +47,10 @@
   SVGUseElementImpl::SVGUseElementImpl(const KDOM::QualifiedName& tagName, KDOM::DocumentImpl *doc)
   : SVGStyledTransformableElementImpl(tagName, doc), SVGTestsImpl(), SVGLangSpaceImpl(), SVGExternalResourcesRequiredImpl(), SVGURIReferenceImpl()
   {
  -    m_x = m_y = m_width = m_height = 0;
   }
   
   SVGUseElementImpl::~SVGUseElementImpl()
   {
  -    if(m_x)
  -        m_x->deref();
  -    if(m_y)
  -        m_y->deref();
  -    if(m_width)
  -        m_width->deref();
  -    if(m_height)
  -        m_height->deref();
   }
   
   SVGAnimatedLengthImpl *SVGUseElementImpl::x() const
  
  
  
  1.6       +4 -4      SVGSupport/ksvg2/svg/SVGUseElementImpl.h
  
  Index: SVGUseElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGUseElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGUseElementImpl.h	21 Nov 2005 08:29:43 -0000	1.5
  +++ SVGUseElementImpl.h	26 Nov 2005 22:19:18 -0000	1.6
  @@ -64,10 +64,10 @@
           // SVGElementInstanceImpl *instanceRoot() const;
   
       private:
  -        mutable SVGAnimatedLengthImpl *m_x;
  -        mutable SVGAnimatedLengthImpl *m_y;
  -        mutable SVGAnimatedLengthImpl *m_width;
  -        mutable SVGAnimatedLengthImpl *m_height;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_x;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_y;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_width;
  +        mutable SharedPtr<SVGAnimatedLengthImpl> m_height;
       };
   };
   
  
  
  
  1.8       +0 -3      SVGSupport/ksvg2/svg/SVGViewElementImpl.cpp
  
  Index: SVGViewElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGViewElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGViewElementImpl.cpp	21 Nov 2005 08:29:43 -0000	1.7
  +++ SVGViewElementImpl.cpp	26 Nov 2005 22:19:18 -0000	1.8
  @@ -38,13 +38,10 @@
   : SVGStyledElementImpl(tagName, doc), SVGExternalResourcesRequiredImpl(),
   SVGFitToViewBoxImpl(), SVGZoomAndPanImpl()
   {
  -    m_viewTarget = 0;
   }
   
   SVGViewElementImpl::~SVGViewElementImpl()
   {
  -    if(m_viewTarget)
  -        m_viewTarget->deref();
   }
   
   SVGStringListImpl *SVGViewElementImpl::viewTarget() const
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGViewElementImpl.h
  
  Index: SVGViewElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGViewElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGViewElementImpl.h	21 Nov 2005 08:29:43 -0000	1.5
  +++ SVGViewElementImpl.h	26 Nov 2005 22:19:19 -0000	1.6
  @@ -46,7 +46,7 @@
           SVGStringListImpl *viewTarget() const;
   
       private:
  -        mutable SVGStringListImpl *m_viewTarget;
  +        mutable SharedPtr<SVGStringListImpl> m_viewTarget;
       };
   };
   
  
  
  



More information about the webkit-changes mailing list